So, essentially, what he is saying is that 'under first-to-file, the inventor has to patent every invention instead of just the useful ones, because it takes time to figure out which ones are useful'.
Well, here in South Korea, the patent law is first-to-file, but the inventor may publish it, and STILL can file the patent within six month since being published. Have a nice idea? publish it, and for the next six month, you have the exclusive right to file the patent of the idea on the publication (of course, as long as the publication itself doesn't have any prior art). If you found out that it is a bad idea, just don't bother filing a patent and still, nobody else will be able to file one since the publication itself will count as prior art.
Plus, here in Korea, we have 50% discounts for small businesses, independent inventors, universities, students, etc. (read: anybody without a deep pocket). The last patent I got here (which was filed three months after being published on an international conference paper) cost something like $2.5K including the cost of hiring a patent attorney.
CPUs/GPUs : Yeah, they used a off-the-shelf design for the GPU, but I'm not sure if Cell can be called an "off-the-shelf" processor - the problem was the SPEs were a completely new design, which not only requires a whole set of new compilers & software infrastructure, but which actually needed a completely new research field on compiler design. Because the SPE could only address the limited amount of scratchpad memory (external memory could only be accessed via the DMA) that added so much headache on software design, which could only be done by a crazy amount of hand-tuning. Add other typical VLIW scheduling problems, and you have a ton of headache optimizing software. As a result, they couldn't rely on off-the-shelf software & tools, and had to design their own software stack & tools, which had zero guarantee to have better quality than proven-to-work tools.
DRAM : The problem of DRAMs is that it's a ultra-cheap commodity product, where one design gets manufactured in billions. Once you turn to something nobody else uses, it turns extremely expensive - not only the manufacturing cost, but it becomes difficult to deal when there are supply issues (e.g., nobody else can supply the DRAM if your primary manufacturer gets hit by an earthquake/tsunami/strike/thermonuclear war/whatever) which adds a lot of risk. Using these low-volume products on limited places will make the problem even worse because it will further reduce the volume. I'd rather have less performance than use a low-volume part which can potentially add a lot of risk on mass-manufacturing. Additionally, if you want bandwidth, you always have the possibility to add more parallel DRAM channels - although it may be inefficient & costly, I'd rather choose that.
Blu-ray: What I meant was that the PS4 shouldn't use something beyond Blu-ray. One of the biggest problem of PS3 was that they tried to use a next-generation optical medium (instead of the proven solution) and thus, had a lot of manufacturing problems. Now that Blu-ray is quite stable and affordable, I guess PS4 should use Blu-ray (yeah, probably a 4-layer design) instead of developing something else.
Or, put it the other way : for the last ten years, every PC manufacturer moved to just a normal gaming console, albeit capable of running any generic operating system, and being capable of running generic software quite well. Actually, most modern PCs got all those "custom circuits" (GPUs, sound processing DSPs, vector instructions, etc.) which previously only existed inside those custom chips inside the consoles.
What I thought was not just something of 'generic'ness, but that Sony (and IBM) took a far too ambitious goal, which failed miserably. Their initial though on Cell was that it should become a generic processor which can be used for various home appliances, supercomputing, and possibly other embedded applications. Their intention was to have PS3 to be the initial Cell customer, and find many other customers later to cover the development cost.
However, the problem of the Cell Broadband Processor was that it was too generic to be used for games (since it must also be capable of running HPC or home entertainment applications), while being too difficult to use properly. Thus, they failed to find a customer other than the PS3, and as a result, the sales of PS3 had to cover the development cost of the whole Cell project. The final nail in the coffin was that IBM killed all future Cell projects, probably because they couldn't find any future customers.
In short, Sony and IBM's goal was to create a new "general-purpose" CPU, which failed miserably. The issue wasn't about "generic PC" vs. "custom circuits for gaming" : it was about "generic PC" vs. "a different generic PC".
Sony didn't say that they are going to produce a less powerful design, but a design which costs less, in terms of investment. Although the outcome may be a not-so-powerful console, the other possibility is something with less "custom" solutions.
Such as:
- Off-the-shelf CPUs/GPUs, or custom ASICs using 3rd-party licensed CPU/GPU designs (instead of designing one from scratch)
- Off-the-shelf DDR(1/2/3/4/5/whatever) SDRAM (instead of using something from Rambus)
- Blu-ray, instead of a new kind of optical disk design (or, even eliminate the physical medium altogether in favor of online purchases)
There is only one GOOD reasons to use multithreading -- because your work is compute-bound.
...and therefore, most of the people in the world won't need anything beyond an Intel Atom because their tasks aren't compute-bound.
Seriously, I don't know what kind of code you write for a living, but the code I write is almost always has some portion of compute-bound submodules, even if what I do has nothing to do with video codecs or 3d or whatever field that there are convenient libraries.
Additionally, an average server has 2x cpus, 8x memory, while having 0x graphics compared to an average desktop. Another problem is that we are running out of tricks for reducing dram power, which means that the portion of dram power may increase steadily in the near future.
Even graphic cards have a sizable, high-bandwidth ram on-board.
Trust me, DRAM power consumption is becoming a serious probpem.
A common misconception is that people think that the Android market from Google is essential and irreplacable. However, I find that there are plenty of ways to replace Android market with something that may work.
The Android market may be fine and essential for people who live in U.S, or at least, many English-speaking regions. However, my experience is that they are a somewhat half-baked solution to non-English speakers. Don't speak English? all you have is a bunch of apps written in some indecipherable language, or some wierd application with machine-translated, cryptic text.
For example, in Korea, there are zero games avaiable on the Android market, and zero paid apps published by the Koreans. Until recently, paid apps weren't even available to the Korean market. Although half of it isn't Google's fault (e.g., in Korea, games are required to have a rating to be sold.), but that doesn't matter. On the other hand, the T-store from SK Telecom (the largest telco in Korea) does have a functioning Android app store which actually provides localized games, localized contents, and applications that are written by real Korean-speaking developers. Since the Korean developers cannot register paid apps in the Android market, they upload the free version on both the T-store and the Android market, and leave a note on the Android market version as something like 'if you want the paid version, search on T-store'.
Now, this is the situation in Korea. Imagine what can happen in China, which may require even more localized content, a potentially huge installment base, and many people who doesn't speak English. If Google fails to provide a localized market, and Baidu does, suddenly Android without Google starts to make sense.
Okay, I think I understand what's going on (at least, what Microsoft is claiming).
1) The sunspider cordic benchmark is actually a huge dead code : runs something, throws the result away, and just measure how long it takes. 2) IE9's javascript engine has a dead code elimination engine. However, since analyzing large amount of code for searching dead code is expensive, they have a parameter specifying how far they will search for dead code. 3) The engineer who was looking for the optimal parameter number simply looked for whatever benchmark he/she could find, and tuned the parameter which yields the highest score, 4)...which happened to be precisely the size of the cordic benchmark.
The claims on the blog has a point : sunspider is a bad benchmark. Not just because it is stupid to write some code that computes sin() in javascript when you can get super-fast native implementations, but because THE WHOLE BENCHMARK IS A FRIGGING PIECE OF DEAD CODE.
Even if the patents that Google need to defend against are really crappy, it may worth having some ammo because bogus patents still can be used for suing, while zero patents can be used for nothing.
Moreover, invalidating bogus patents is quite expensive, risky, and time-consuming.
OTOH, how many patents does Palm have, and how many of them are valid ones?
Basically, many programmers feel that everybody else around him(or her) is a stupid asshole. However, if you want succeed, (e.g. have everybody around you learn statistics) you should never, ever, ever make enemies.
Be productive, work hard, listen to others, and try to do the work in the *right way*. Gain respect from yor collegues, and then they will get interested.
Yes, maybe you are shocked, but me and my wife agreed to remove TVs from our home. We found that TVs started to waste our time too much, and all we were watching were junky TV shows which had near-to-zero value on us anyway.
Instead, now we listen to FM radio. At least, we can do something more productive while listening to the radio.
And somehow, I am wasting my 'productive' time writing comments on Slashdot. Great.
If money and sheer 'raw performance' could solve the problem, I'd bet that they would have already done that. The (salary of the engineers + server downtime + crashses (resulting in bad reputation) + etc.) are much more expensive than the hardware cost.
The problem in this situation is that they are trying to put too many people inside a small region.
For example, if you develop some kind of chat server, which can have 10 people inside a single room, and assuming that each person types one message per second, you have 10 messages per second on the room for 10 people, resulting in 100 messages transmitted per second. Make that 1000, and you have 1,000,000 messages to broadcast per second.
The problem is that, all that data has to get out of your server farm. Even worse, is that the required bandwidth grows square-proportional of the number of users on the battlefield. Now, add the 'computing load distribution' when the computation (and the interaction between the users) also grows square-proportional of the number of users. Things will get ugly quickly. That's why most MMOs put queues and user caps on individual 'servers' or 'instances' or whatever, because potentially everything inside the region need to interact with each other.
Actually, I heard that EVE online had done a tremendous job scaling the size of battlefields up to remarkable sizes. Well, at least they are trying.
Yeah, that's why Intel started to sell those cheap processors called 'Atom'. Performance worse than a Prescott, while having less than 1/10 of the power consumption.
The reason behind the problem of 'why can't I have the same level of experience compared to 10 years ago using the same hardware?' isn't just about forcing upgrades. It's tightly related to software developer productivity. such as:
- using interpreted or JIT-compiled languages like.NET CLR, javascript, Adobe Flash, Java, python, etc. instead of the good'ol 'native' executives - using generic, reusable libraries instead of application-specific, fine-tuned implementations, - writing more readible code rather than dirty-but-blazingly-fast code - and, having mediocore developers write non-performance-critical code (lower labor cost)
If you don't want upgrades, so be it. Unfortunately, there won't be enough people to write 'new' softwsare for you, because it will be more expensive to develop.
However, I find that I upgrade every three or four years, not because of insufficient performance, but because of (my laptop's) typical wear-and-tear. After four years of routine usage, I find that buying a new one is generlly cheaper than repairing it.
The same South Korea that took over two years to get the iPhone. And the same SK that still blocks any non-Korean approved unlocked phone from being used on their networks without paying a $300 "inspection" fee? And the same SK where the majority of domestic websites require Internet Explorer 6 (yes, 6) to function correctly?
For those of you who don't know, South Korea is not a technological paradise. We have fast broadband but that's about it.
To be fair, the $300 inspection fee is for getting *any* device certified by the FCC-equivalent authority of Korea *for personal use*. To make sure that the device does't interfere with the government-authorized spectrum. You should blame (insert company name) for not doing the job for you, not the South Korean government. Hell, what kind of government authorize using non-certified devices in their soverign?
Additionally, I use IE8 and firefox, and I had zero hiccups using IE8, and nearly zero problem using Firefox except on-line gaming sites (which merely is a Windows game installer) and banks (which require so many addons). Everything else is fine.
The Korean on-line banking was starting to be implemented something like 12 years ago. Back then when Netscape was the dominant web browser, IE was something like 5.x, and there was no serious open-source alternative. Pretty much all the users were using either IE or netscape, so they couldn't force them to use some kind of in-house browser, nor afford to develop a new browser.
There once was a period that Netscape was supported, but no banks support it anymore because Netscape's market share turned to something close to zero.
I agree that the situation is pretty crazy because nowdays banks install mandatory 'keyboard protection' and 'anti-virus' plugins sort of stuff, which installs malware-like keyboard sniffing, system-crippling device drivers. Many people gets disgusted by this situation, but I sort of understand that the banks had no choice. If somebody loses money even due to some client-side rootkit (such as keylogging), they still have the risk to be liable, and the court usually rules in favor of the victims.
The Korean on-line banking system is actually much more than merely SSL - every user has their own RSA certificate, their own passphrases, which expires every year. Signatures of the transactions are made on the client-side. Thus, simply having the password isn't enough to make a transactions - you need the certificate, the passphrase of the certificate, the password of the bank account, and finally, the password for logging in to the bank's website.
Is it that expensive on (insert your country name)?
Well, in Korea, I can remember at least two methods - bank transfer (with something like 50c transfer fee) or credit cards (call the credit card company for a temporary raise of your limit, which can only be used for that specific purpose).
Actually, I can't remember when was the last time I paid anything more than $100 in cash.
I agree that liability isn't a problem (you use it, you are responsible), but cost certainly is a problem.
The bare minimum to develop open-source hardware (assuming you want something with flashing LEDs, not simulation) is 1) a cheap FPGA board, and 2) a FPGA development tool. To do anything decent, you need to spend a couple of hundred of dollars for the board, but fortunately the tool comes free ('web edition'). This may be enough for developing something moderately complex - say a digital audio player.
However, if you want to develop something much larger, say something like a decently-sized microprocessor with some hardware acceleration, that's about 10k for the FPGA board and another 3k for tools. Add in some more tools, and it goes beyond your average hobby.
Of course some people can shell 20k for some hobby, but that results in a lack of users, and thus, collaboration (e.g. feedbacks, bug reports, contributions). If you are going to try some new software, the hardware cost you are going to spend is normally zero. If it doesn't work for you, you just wasted a day or two.
If you are going to try some new open-source hardware, that requires 10 grand. If it doesn't work for you, you wasted a whole month trying to build it, and all you have is an expensive piece of crap.
Well, I'm not quite sure if it will work well on ARM ISA. Most instructions starts with 0xe (unconditional operation), and 0xe[0-9a-f] isn't an alphanumerical character. Maybe instructions can be encoded using only conditional executions, but probably much more difficult (if possible) than x86.
Here in Korea, my mom's 14-year old Hyundai Sonata had something like 67,000km of mileage when she sent it to the junkyard. Although it is ridiculous even compared to other cars here, what I typically see from other cars around here is that the mileage is about 10,000 km per year, which is equivalent to about 30km per day.
And yes, due to the horrible traffic condition here, a 15km trip in the peak times take something like an hour.
Or even better, activate the compressors of the air conditioners only on bus stops....However, I'm sort of worried what will happen if the traffic jam is so horrible that the bus runs something around 5km/h, with constant acceleration/deacceleration.
There may be a point of removing the essay, but what will they replace with?
Ten years ago, when I seeked for university admission in Korea, a country which has extremely competitive university admission procedures, we had essay exams. They give you approximately 500~1000 words of whatever text (it can be some literature, news article, textbook text, or whatsoever), followed by a short question which has to be answered in a 1,600 character (around 500 wordsessay. With something like 2 hours time limit.
With only two hours, students had only something like 10 minutes to read the text, 5 minutes to think, 10 minutes to plan the structure of the essay, and about an hour to write 500 words on a piece of paper, including making correceionts. In other words, if you cannot understand the text and figure out what to write within 20 or so minutes, you are doomed.
Back then, and for many more years, I thought it was unfair. I wanted to do engineering, but the essay looked ridiculous. However, after ten years, I found that preparing for the essay exam had greatly enhanced my writing skills (which I find really important - sometimes more important than math or physics), and it forced me to read a lot of books of all sorts of topics.
I think these kind of essay exams (with tight time limits) may help, but unlike Korea, United States is a fairly large country, and it may be too difficult to have all the students seeking admision in one place.
So, essentially, what he is saying is that 'under first-to-file, the inventor has to patent every invention instead of just the useful ones, because it takes time to figure out which ones are useful'.
Well, here in South Korea, the patent law is first-to-file, but the inventor may publish it, and STILL can file the patent within six month since being published. Have a nice idea? publish it, and for the next six month, you have the exclusive right to file the patent of the idea on the publication (of course, as long as the publication itself doesn't have any prior art). If you found out that it is a bad idea, just don't bother filing a patent and still, nobody else will be able to file one since the publication itself will count as prior art.
Plus, here in Korea, we have 50% discounts for small businesses, independent inventors, universities, students, etc. (read: anybody without a deep pocket). The last patent I got here (which was filed three months after being published on an international conference paper) cost something like $2.5K including the cost of hiring a patent attorney.
My idea was:
CPUs/GPUs :
Yeah, they used a off-the-shelf design for the GPU, but I'm not sure if Cell can be called an "off-the-shelf" processor - the problem was the SPEs were a completely new design, which not only requires a whole set of new compilers & software infrastructure, but which actually needed a completely new research field on compiler design. Because the SPE could only address the limited amount of scratchpad memory (external memory could only be accessed via the DMA) that added so much headache on software design, which could only be done by a crazy amount of hand-tuning. Add other typical VLIW scheduling problems, and you have a ton of headache optimizing software.
As a result, they couldn't rely on off-the-shelf software & tools, and had to design their own software stack & tools, which had zero guarantee to have better quality than proven-to-work tools.
DRAM :
The problem of DRAMs is that it's a ultra-cheap commodity product, where one design gets manufactured in billions. Once you turn to something nobody else uses, it turns extremely expensive - not only the manufacturing cost, but it becomes difficult to deal when there are supply issues (e.g., nobody else can supply the DRAM if your primary manufacturer gets hit by an earthquake/tsunami/strike/thermonuclear war/whatever) which adds a lot of risk.
Using these low-volume products on limited places will make the problem even worse because it will further reduce the volume. I'd rather have less performance than use a low-volume part which can potentially add a lot of risk on mass-manufacturing. Additionally, if you want bandwidth, you always have the possibility to add more parallel DRAM channels - although it may be inefficient & costly, I'd rather choose that.
Blu-ray:
What I meant was that the PS4 shouldn't use something beyond Blu-ray. One of the biggest problem of PS3 was that they tried to use a next-generation optical medium (instead of the proven solution) and thus, had a lot of manufacturing problems. Now that Blu-ray is quite stable and affordable, I guess PS4 should use Blu-ray (yeah, probably a 4-layer design) instead of developing something else.
Whoa, just blew my mind. The PC won.
Or, put it the other way : for the last ten years, every PC manufacturer moved to just a normal gaming console, albeit capable of running any generic operating system, and being capable of running generic software quite well. Actually, most modern PCs got all those "custom circuits" (GPUs, sound processing DSPs, vector instructions, etc.) which previously only existed inside those custom chips inside the consoles.
What I thought was not just something of 'generic'ness, but that Sony (and IBM) took a far too ambitious goal, which failed miserably. Their initial though on Cell was that it should become a generic processor which can be used for various home appliances, supercomputing, and possibly other embedded applications. Their intention was to have PS3 to be the initial Cell customer, and find many other customers later to cover the development cost.
However, the problem of the Cell Broadband Processor was that it was too generic to be used for games (since it must also be capable of running HPC or home entertainment applications), while being too difficult to use properly. Thus, they failed to find a customer other than the PS3, and as a result, the sales of PS3 had to cover the development cost of the whole Cell project. The final nail in the coffin was that IBM killed all future Cell projects, probably because they couldn't find any future customers.
In short, Sony and IBM's goal was to create a new "general-purpose" CPU, which failed miserably. The issue wasn't about "generic PC" vs. "custom circuits for gaming" : it was about "generic PC" vs. "a different generic PC".
Sony didn't say that they are going to produce a less powerful design, but a design which costs less, in terms of investment.
Although the outcome may be a not-so-powerful console, the other possibility is something with less "custom" solutions.
Such as:
- Off-the-shelf CPUs/GPUs, or custom ASICs using 3rd-party licensed CPU/GPU designs (instead of designing one from scratch)
- Off-the-shelf DDR(1/2/3/4/5/whatever) SDRAM (instead of using something from Rambus)
- Blu-ray, instead of a new kind of optical disk design (or, even eliminate the physical medium altogether in favor of online purchases)
There is only one GOOD reasons to use multithreading -- because your work is compute-bound.
...and therefore, most of the people in the world won't need anything beyond an Intel Atom because their tasks aren't compute-bound.
Seriously, I don't know what kind of code you write for a living, but the code I write is almost always has some portion of compute-bound submodules, even if what I do has nothing to do with video codecs or 3d or whatever field that there are convenient libraries.
Additionally, an average server has 2x cpus, 8x memory, while having 0x graphics compared to an average desktop. Another problem is that we are running out of tricks for reducing dram power, which means that the portion of dram power may increase steadily in the near future.
Even graphic cards have a sizable, high-bandwidth ram on-board.
Trust me, DRAM power consumption is becoming a serious probpem.
A common misconception is that people think that the Android market from Google is essential and irreplacable. However, I find that there are plenty of ways to replace Android market with something that may work.
The Android market may be fine and essential for people who live in U.S, or at least, many English-speaking regions. However, my experience is that they are a somewhat half-baked solution to non-English speakers. Don't speak English? all you have is a bunch of apps written in some indecipherable language, or some wierd application with machine-translated, cryptic text.
For example, in Korea, there are zero games avaiable on the Android market, and zero paid apps published by the Koreans. Until recently, paid apps weren't even available to the Korean market. Although half of it isn't Google's fault (e.g., in Korea, games are required to have a rating to be sold.), but that doesn't matter. On the other hand, the T-store from SK Telecom (the largest telco in Korea) does have a functioning Android app store which actually provides localized games, localized contents, and applications that are written by real Korean-speaking developers. Since the Korean developers cannot register paid apps in the Android market, they upload the free version on both the T-store and the Android market, and leave a note on the Android market version as something like 'if you want the paid version, search on T-store'.
Now, this is the situation in Korea. Imagine what can happen in China, which may require even more localized content, a potentially huge installment base, and many people who doesn't speak English. If Google fails to provide a localized market, and Baidu does, suddenly Android without Google starts to make sense.
Okay, I think I understand what's going on (at least, what Microsoft is claiming).
1) The sunspider cordic benchmark is actually a huge dead code : runs something, throws the result away, and just measure how long it takes. ...which happened to be precisely the size of the cordic benchmark.
2) IE9's javascript engine has a dead code elimination engine. However, since analyzing large amount of code for searching dead code is expensive, they have a parameter specifying how far they will search for dead code.
3) The engineer who was looking for the optimal parameter number simply looked for whatever benchmark he/she could find, and tuned the parameter which yields the highest score,
4)
The claims on the blog has a point : sunspider is a bad benchmark. Not just because it is stupid to write some code that computes sin() in javascript when you can get super-fast native implementations, but because THE WHOLE BENCHMARK IS A FRIGGING PIECE OF DEAD CODE.
Choose my build order. Rock, paper, or scissor?
*The games with good stories general can not compress a 20-40 hour experience into an hour thirty.
However, books with good stories also have a 20-40 hour experience, and somehow still can be compressed into an hour thirty..??
Even if the patents that Google need to defend against are really crappy, it may worth having some ammo because bogus patents still can be used for suing, while zero patents can be used for nothing.
Moreover, invalidating bogus patents is quite expensive, risky, and time-consuming.
OTOH, how many patents does Palm have, and how many of them are valid ones?
Wikipedia to the rescue:
http://en.wikipedia.org/wiki/Micron_Technology
They split their PC manufacturing business into a spearate company, which declared bankruptcy in 2008. Now, they focus on manufacturing memory.
To most of the people, Micron is known as their consumer brand Crucial Tehnology and Lexar Media.
Well, I think this would be the article Zed needs to read:
http://www.joelonsoftware.com/articles/fog0000000332.html
Basically, many programmers feel that everybody else around him(or her) is a stupid asshole. However, if you want succeed, (e.g. have everybody around you learn statistics) you should never, ever, ever make enemies.
Be productive, work hard, listen to others, and try to do the work in the *right way*. Gain respect from yor collegues, and then they will get interested.
Yes, maybe you are shocked, but me and my wife agreed to remove TVs from our home. We found that TVs started to waste our time too much, and all we were watching were junky TV shows which had near-to-zero value on us anyway.
Instead, now we listen to FM radio. At least, we can do something more productive while listening to the radio.
And somehow, I am wasting my 'productive' time writing comments on Slashdot. Great.
If money and sheer 'raw performance' could solve the problem, I'd bet that they would have already done that. The (salary of the engineers + server downtime + crashses (resulting in bad reputation) + etc.) are much more expensive than the hardware cost.
The problem in this situation is that they are trying to put too many people inside a small region.
For example, if you develop some kind of chat server, which can have 10 people inside a single room, and assuming that each person types one message per second, you have 10 messages per second on the room for 10 people, resulting in 100 messages transmitted per second. Make that 1000, and you have 1,000,000 messages to broadcast per second.
The problem is that, all that data has to get out of your server farm. Even worse, is that the required bandwidth grows square-proportional of the number of users on the battlefield. Now, add the 'computing load distribution' when the computation (and the interaction between the users) also grows square-proportional of the number of users. Things will get ugly quickly. That's why most MMOs put queues and user caps on individual 'servers' or 'instances' or whatever, because potentially everything inside the region need to interact with each other.
Actually, I heard that EVE online had done a tremendous job scaling the size of battlefields up to remarkable sizes. Well, at least they are trying.
Yeah, that's why Intel started to sell those cheap processors called 'Atom'. Performance worse than a Prescott, while having less than 1/10 of the power consumption.
The reason behind the problem of 'why can't I have the same level of experience compared to 10 years ago using the same hardware?' isn't just about forcing upgrades. It's tightly related to software developer productivity. such as:
- using interpreted or JIT-compiled languages like .NET CLR, javascript, Adobe Flash, Java, python, etc. instead of the good'ol 'native' executives
- using generic, reusable libraries instead of application-specific, fine-tuned implementations,
- writing more readible code rather than dirty-but-blazingly-fast code
- and, having mediocore developers write non-performance-critical code (lower labor cost)
If you don't want upgrades, so be it. Unfortunately, there won't be enough people to write 'new' softwsare for you, because it will be more expensive to develop.
However, I find that I upgrade every three or four years, not because of insufficient performance, but because of (my laptop's) typical wear-and-tear. After four years of routine usage, I find that buying a new one is generlly cheaper than repairing it.
The same South Korea that took over two years to get the iPhone. And the same SK that still blocks any non-Korean approved unlocked phone from being used on their networks without paying a $300 "inspection" fee? And the same SK where the majority of domestic websites require Internet Explorer 6 (yes, 6) to function correctly?
For those of you who don't know, South Korea is not a technological paradise. We have fast broadband but that's about it.
To be fair, the $300 inspection fee is for getting *any* device certified by the FCC-equivalent authority of Korea *for personal use*. To make sure that the device does't interfere with the government-authorized spectrum. You should blame (insert company name) for not doing the job for you, not the South Korean government. Hell, what kind of government authorize using non-certified devices in their soverign?
Additionally, I use IE8 and firefox, and I had zero hiccups using IE8, and nearly zero problem using Firefox except on-line gaming sites (which merely is a Windows game installer) and banks (which require so many addons). Everything else is fine.
The Korean on-line banking was starting to be implemented something like 12 years ago. Back then when Netscape was the dominant web browser, IE was something like 5.x, and there was no serious open-source alternative. Pretty much all the users were using either IE or netscape, so they couldn't force them to use some kind of in-house browser, nor afford to develop a new browser.
There once was a period that Netscape was supported, but no banks support it anymore because Netscape's market share turned to something close to zero.
I agree that the situation is pretty crazy because nowdays banks install mandatory 'keyboard protection' and 'anti-virus' plugins sort of stuff, which installs malware-like keyboard sniffing, system-crippling device drivers. Many people gets disgusted by this situation, but I sort of understand that the banks had no choice.
If somebody loses money even due to some client-side rootkit (such as keylogging), they still have the risk to be liable, and the court usually rules in favor of the victims.
The Korean on-line banking system is actually much more than merely SSL - every user has their own RSA certificate, their own passphrases, which expires every year. Signatures of the transactions are made on the client-side. Thus, simply having the password isn't enough to make a transactions - you need the certificate, the passphrase of the certificate, the password of the bank account, and finally, the password for logging in to the bank's website.
Is it that expensive on (insert your country name)?
Well, in Korea, I can remember at least two methods - bank transfer (with something like 50c transfer fee) or credit cards (call the credit card company for a temporary raise of your limit, which can only be used for that specific purpose).
Actually, I can't remember when was the last time I paid anything more than $100 in cash.
I for one find it odd that old 1gb PC2700 modules are still over $30. And the price seems to be the same no matter which manufacturer you look at.
That probably would be because nobody manufactures 1GB PC2700 modules anymore.
Low demand -> lower supply -> even higher cost.
I agree that liability isn't a problem (you use it, you are responsible), but cost certainly is a problem.
The bare minimum to develop open-source hardware (assuming you want something with flashing LEDs, not simulation) is 1) a cheap FPGA board, and 2) a FPGA development tool. To do anything decent, you need to spend a couple of hundred of dollars for the board, but fortunately the tool comes free ('web edition'). This may be enough for developing something moderately complex - say a digital audio player.
However, if you want to develop something much larger, say something like a decently-sized microprocessor with some hardware acceleration, that's about 10k for the FPGA board and another 3k for tools. Add in some more tools, and it goes beyond your average hobby.
Of course some people can shell 20k for some hobby, but that results in a lack of users, and thus, collaboration (e.g. feedbacks, bug reports, contributions). If you are going to try some new software, the hardware cost you are going to spend is normally zero. If it doesn't work for you, you just wasted a day or two.
If you are going to try some new open-source hardware, that requires 10 grand. If it doesn't work for you, you wasted a whole month trying to build it, and all you have is an expensive piece of crap.
Well, I'm not quite sure if it will work well on ARM ISA. Most instructions starts with 0xe (unconditional operation), and 0xe[0-9a-f] isn't an alphanumerical character. Maybe instructions can be encoded using only conditional executions, but probably much more difficult (if possible) than x86.
Here in Korea, my mom's 14-year old Hyundai Sonata had something like 67,000km of mileage when she sent it to the junkyard. Although it is ridiculous even compared to other cars here, what I typically see from other cars around here is that the mileage is about 10,000 km per year, which is equivalent to about 30km per day.
And yes, due to the horrible traffic condition here, a 15km trip in the peak times take something like an hour.
Or even better, activate the compressors of the air conditioners only on bus stops. ...However, I'm sort of worried what will happen if the traffic jam is so horrible that the bus runs something around 5km/h, with constant acceleration/deacceleration.
There may be a point of removing the essay, but what will they replace with?
Ten years ago, when I seeked for university admission in Korea, a country which has extremely competitive university admission procedures, we had essay exams. They give you approximately 500~1000 words of whatever text (it can be some literature, news article, textbook text, or whatsoever), followed by a short question which has to be answered in a 1,600 character (around 500 wordsessay. With something like 2 hours time limit.
With only two hours, students had only something like 10 minutes to read the text, 5 minutes to think, 10 minutes to plan the structure of the essay, and about an hour to write 500 words on a piece of paper, including making correceionts. In other words, if you cannot understand the text and figure out what to write within 20 or so minutes, you are doomed.
Back then, and for many more years, I thought it was unfair. I wanted to do engineering, but the essay looked ridiculous. However, after ten years, I found that preparing for the essay exam had greatly enhanced my writing skills (which I find really important - sometimes more important than math or physics), and it forced me to read a lot of books of all sorts of topics.
I think these kind of essay exams (with tight time limits) may help, but unlike Korea, United States is a fairly large country, and it may be too difficult to have all the students seeking admision in one place.