I've seen one example of a threaded serial task. Intel has HyperThread optimization PDF some where showing some interesting tricks using HT. The example they had was on an i7, so fairly recent. They had a serial task that iterated through an array. They loaded an extra thread that synced with the primary thread, ran it on the other virtual thread, and all it did was call the prefetch instruction on the array.
Even though they had a modern architecture with advanced prefetching and linear memory access, using the prefetch command on a separate thread on the same core increased the performance by 30% over the working thread doing the prefetching. The biggest issue with this approach is making sure the second thread doesn't get too far ahead of the working thread as too much prefteching will start to cause cache evictions and make it slower.
Corner case, I know, but still interesting.
I would assume something simple like this would do the above. quick napkin code, mind any errors
WorkerThread: volatile int i; for(i = 0; i y) max = y;
for(int i = x; i max; i++) prefetch(array[i]);
sleep(1); }
no locking involved, and the preftech thread never goes more than 1024 elements ahead.
This is kind of a bad example in that there is little computational work being done and 'i' would have to be volatile because if the value of i was stored in only a register during the loop, the other thread would never see the increments. But if gives the idea, being only pseudo-code.
"This seems to me like partitioning up available speed on a device, it would be akin to having a pc with 4gb of ram having 128 virtual machines with 4gb of ram each... fine... until they try to use it. You do not multiply by 'logical' partitions of physical capacity by physical capacity, only physical capacity matters logical partitions are for management of it."
Each CDMA code has its own bandwidth, it's not shared. According to Cisco, you can bond multiple virtual channels together within the same physical channel just fine.
eg. you have 1 40mbit physical channel, you can bond 8 of those 128 virtual channels for a combined speed of 320mbit. Their manual did say upstream bonding of virtual channels within a single physical channel was not allowed, but it is allowed on the downstream.
"When you use the 320mbit 'boost' feature, you are using the entire internet access of all your neighbours for a tiny period. That kind of shit is nasty."
See my above, that is not true unless your provider is using TDMA.
CDMA does come at the cost of price. It requires a lot of processing power and expensive equipment.
The bad news is with CDMA, the more users that are using, the more noise is generated. The good news is DOCSIS supports a relatively small 128 virtual channels and CDMA is f'n awesome at filtering out noise. CDMA is so good at filtering noise, it can use frequencies in the COAX that can't be used by anything else because the noise makes it useless to TDMA/FDMA.
In the end, fiber uses cheaper equipment, but installing all those lines would still cost more than changing a node to support CDMA.
back in my advanced network class, we spent a week covering TDMA/FDMA/CDMA. Most of the time was spent on CDMA as it's the most complicated and generally much much much much better. My teacher said that there are only two limitations to how many clients can use CDMA at a time, and that's signal clarity and processing power. Otherwise CDMA is like FDMA in that each channel is its own, and unlike TDMA, no sharing.
Ohh, CDMA mode is limited to 128QAM on the download because the algorithm distorts the signal a bit, TDMA mode supports 256 QAM, but it's only a minor difference in bandwidth per channel.
FDMA is like a person talking to another person in their own personal room(frequency). Typically this room isn't perfectly isolated, so you still get noise from other rooms.
TDMA is like a bunch of people in the same room, but only one can talk at a time
CDMA is like a bunch of people in the same room talking at the same time. After a bit, it starts to get noisy, but it just means you might have to listen better(filter), shout louder, or ask to have them repeat themselves. But you can pack quite a few people in that room before it gets crowded and for the most part, you don't care about everyone else as it's almost as good as having your own room.
The only people who can sniff traffic is your ISP or the government with ISP access. Sniffing requires either data to be broadcasted or data to be redirected/mirrored. The internet doesn't broadcast data and mirroring data requires access to routers/switches.
It can be done, but you have MUCH bigger issues at hand if you're targeted by your ISP/Government.
Short of P2P, where you actively broadcast your public IP, it will be nearly impossible to acquire someone's IP.
Luckily, Win7 by default blocks incoming connections from outside your network. You have to "OK" an application to accept incoming from public networks. Also, Win7 is nearly impenetrable from a network standpoint. Win7 network security is up there with a locked down Linux box.
Since Win95, machines have been able to resolve IPs based on network names, not just DNS. You don't even need DNS setup to not have to use IP addresses.
They already have designs that self cool and the nuclear reaction actually has a negative feedback, which needs to be blocked.
The newer core designs, aka not 60 years old, would have kept the cores cool even without power and the rods would have went into a negative feedback cycle which would have cooled them down faster.
The newer, safer, less-waste designs are much more expensive, so here's hoping to actually putting money into new plants.
The entire island is surrounded by faults and oceans and they have no such thing as "un-used" land. No matter where they put it, it will be near a site that will eventually be earthquake active. About every place they could put it would fall under "hit by magnitude 9.0 earthquakes and Tsunamis", just probably not on record.
My cable modem says 18mb/sec, speedtest says 40-70mb/sec, my network graph shows ~80-100mb/sec during powerboost, Steam shows a sustained average of ~19mb, UDP "streams" average about 60mb/sec sustained with spikes near 100mb/sec.
My mom has DSL. She has a 60ms ping to her first hop. Her first hop has a DNS name of her town; the second hop is named from another city. Her ISP(the only ISP) has only one building in the entire town, which is under a mile away.
I should think it's safe to assume it's taking ~60ms for her packets to move 1 mile. to put that into perspective, I get a 19ms ping to Chicago(~600mi away) and ~45ms ping to New York. My first hop is 6ms and my second hop is 6ms and my thirds hop is 6ms. The second and third hop are at least 30 miles away as that's how far the city is with the name of the hop.
Don't tell me DSL is automatically better than cable.
According to Cisco's SCDMA DOCSIS 3.0 documentation, you can have 128 40mbit logical channels in a single 40mbit physical channel. Simple math puts that at ~5gbit of bandwidth. Add in 4 channels, which is fairly common, and you can have 20,480mbit shared by 1000 people, which is 20.48mbit per user, but you can also burst up to 320mbit.
You could have 8 channels and have 40,960mbit of bandwidth to the node, which is 40.96mbit per user for 1000 users. None of this matters because you said only a 10gb uplink from the node.
I would take DOCSIS 3.0 SCDMA 8 channel over 1000 channels of 24mbit DSL anyday.
I am conflicted. I do find it "low" to be suing companies from a country that just experience a revolution, but then again, these companies listened to their government to shutdown the internet. But again, as much as I loath them shutting down the intarweb, they were just following orders. I still would enjoy Verizon taking a hit, but allowing a suit out of spite isn't the way to go.
If someone should be sued, it should be the prior government of Egypt.
"save me having yet-another-avenue where someone could get onto my network if I'd made a mistake in the configuration"
I wonder which is safer, security through NAT or security through obscurity via a HUGE address range. Even if you misconfigured your firewall, it will take a VERY long time to scan a/64, or ever worse, a/48 for IPs.
A/48 has 1,208,925,819,614,629,174,706,176 IPs. A 100mbit connection can send a maximum of 195,312 64byte ping packets(probably a different size for IPv6). If you had 10,000 devices on your network, they would have a 1 in 120,892,581,961,462,917,470 chance of hitting an in-use IP. On average, it would take 618,970,019,642,690 seconds of 100mbit/sec of scanning to find a single live IP, or about 19,600 millenia.
By default, the IP address you make out-going connections won't accept incoming connections. So even if someone logged you connecting to a web-page with xxxx::1, they can't use that IP to make a connection in to you.
I should hope any server that is meant to be facing the internet is locked down, even if your internal devices aren't.
you're mixing up the term "users". He's talking about clients, not internal admins/developers. His "user" cost for licenses won't grow as he gets more clients.
People aren't born thinking a certain way. People indeed can be taught how to think "like a computer scientist", which is the whole point of a computer science degree.
Not sure about that. A lot of the best programmers I've met are natural "problem solvers" and are very inquisitive in information even outside programming. They prefer working with computers because computers are great at following a set of instructions, but they would've done well in almost any field.
I've met two types of programmers in my life, those who were taught to program and those who were born to solve problems. The ones who were taught to program just regurgitated knowledge without the understanding of how and why.
The problem with programming is there are many ways to solve a given problem. The person who was taught to program won't see the difference between a linked-list or an array or how it fits into their program design. They typically don't see the big picture, they just "solve" their current issue and don't think how that will affect other parts of the program.
Their programs work, but don't work nearly as good. Sometimes you can see magnitude differences in speed and scaling issues.
Programming is different than many other fields. Many times it's not just important to have a functional program, but a fast, scalable, secure, easily debugged, and expandable program.Design is just as important as functionality.
I've met my share of computer science engineers with degrees from respectable colleges and great work backgrounds and recommendations, and they don't understand how their application interacts with the database back-end. They write code that would be a great design if all the data was stored in memory, but is horrible when you have a DB back-end. Again, they only understand the small part of the application that they're working on. A bit more understanding in how and why would create a much faster application. Faster application means fewer servers. Fewer servers means less power and fewer admins. It costs real world money to hire people who are "taught" programming.
Now there's always exceptions, but my anecdotal experience has been more correct than not, in my life. I've worked with "taught" programmers and their still very nice, smart, respectable individuals, but you need to know what to expect from them. I've also worked with people who were more knowledgeable than me if not smarter than me, I recognized this and respected their opinions. I'm 100% sure that there are smarter people than me out there and I accept a good idea no matter who it comes from.
This is why the city should only own the last mile infrastructure. Let the ISPs lease last mile connections from the City. Then the ISPs can compete on supplying an internet connection instead of who owns the right-a-way to the last mile infrastructure..
You could still have like a 1/1mbit internet connection via the city for some low price like $10/month or something. This way really poor people can still get the basics without competing with ISPs for services.
I'm no physics major of any sort, but when you say "system in thermal equilibrium", you mean of actual heat. Yes, no heat transfer should be happening conductivity. But there is a radiation heat transfer going on. With conductive heat, if the two bodies are the same temp, there's no physical heat flow, but with IR, there is radiative heat flow all the time. Even if the system is in balance, there is still IR radiation flowing. They're just tapping into that.
So long as there's IR photons moving, heat is moving.
At least this is my understanding, which could very well be wrong.
I had a history book in college that was ~6months old at the time, several revisions in and had numerous awards. It had a section dedicated entirely to talking about how the Europeans purposefully spread smallpox and wiped out entire villages. It was covered under a chapter like "The Beginning of Biological Warfare". My teacher with a PHD in history also talked about it as fact. Well, neither the book nor my teacher specifically said blankets were used, but they both said smallpox was spread and it devastated villages and was done on purpose many times.
I've had several other history books in school say the same thing.
How is this a myth? I thought it was common knowledge being that historians and history books proclaim it as fact.
"Can you imagine? Your ISP decides to give you a new prefix and you'd have to program it into your switches so they can talk to the right lightbulbs again."
You probably wouldn't want each light/fixture to have a public IP, just private. Let the control unit in your house have a public IP.
"One of the benefits of NAT was the internal network was separated from the external - changes to the external IP addresses didn't influence the internal ones"
At least with Vista/7, each machine gets 3 IPs by default. A private IP, a static Public IP, and a random public IP that changes avery few minutes and refuses incoming connections. You don't need to worry about your private IPs changing, just your public IPs. No biggie.
"Sure you can assign more IPv6 addresses to ensure that your home server is always FC00::100, but having to know all the IP addresses of each machine when diagnosing things just gets to be a pain"
Thank god for name-to-IP protocols that have been standard for the past 2 decades.
The transition will be annoying, but once we get use to IPv6, it will be easier.
The Hyper-V Stand alone server is free from MS. You don't even need to install Windows to use it(Clustering/1TB+ memory/8CPU-Host/4CPU-Guest/64VMs/Live-migration). Free is a very attractive "licensing".
Nearly all devices and recipes are in the english system over here. We have no relation to the metric system. When doing math, I convert to metric, do the math, then convert back because it's easier. But when someone says something is 30c, I have no idea if that's hot or cold.
Not to mention how many hand-written recipes are in english. Who is going to go back through every note written by their relatives/friends/etc and convert it all to metric. To be effective, you would have to convert every oven/book/measuring-device/etc all at the same time.
People complained about the dTV transition because their 60 year old TVs no longer worked, even though everyone in the USA got 2 free vouchers for converter boxes. This would be much much worse.
I've seen one example of a threaded serial task. Intel has HyperThread optimization PDF some where showing some interesting tricks using HT. The example they had was on an i7, so fairly recent. They had a serial task that iterated through an array. They loaded an extra thread that synced with the primary thread, ran it on the other virtual thread, and all it did was call the prefetch instruction on the array.
Even though they had a modern architecture with advanced prefetching and linear memory access, using the prefetch command on a separate thread on the same core increased the performance by 30% over the working thread doing the prefetching. The biggest issue with this approach is making sure the second thread doesn't get too far ahead of the working thread as too much prefteching will start to cause cache evictions and make it slower.
Corner case, I know, but still interesting.
I would assume something simple like this would do the above. quick napkin code, mind any errors
WorkerThread:
volatile int i;
for(i = 0; i y) max = y;
for(int i = x; i max; i++)
prefetch(array[i]);
sleep(1);
}
no locking involved, and the preftech thread never goes more than 1024 elements ahead.
This is kind of a bad example in that there is little computational work being done and 'i' would have to be volatile because if the value of i was stored in only a register during the loop, the other thread would never see the increments. But if gives the idea, being only pseudo-code.
"This seems to me like partitioning up available speed on a device, it would be akin to having a pc with 4gb of ram having 128 virtual machines with 4gb of ram each... fine... until they try to use it. You do not multiply by 'logical' partitions of physical capacity by physical capacity, only physical capacity matters logical partitions are for management of it."
Each CDMA code has its own bandwidth, it's not shared. According to Cisco, you can bond multiple virtual channels together within the same physical channel just fine.
eg. you have 1 40mbit physical channel, you can bond 8 of those 128 virtual channels for a combined speed of 320mbit. Their manual did say upstream bonding of virtual channels within a single physical channel was not allowed, but it is allowed on the downstream.
"When you use the 320mbit 'boost' feature, you are using the entire internet access of all your neighbours for a tiny period. That kind of shit is nasty."
See my above, that is not true unless your provider is using TDMA.
CDMA does come at the cost of price. It requires a lot of processing power and expensive equipment.
The bad news is with CDMA, the more users that are using, the more noise is generated. The good news is DOCSIS supports a relatively small 128 virtual channels and CDMA is f'n awesome at filtering out noise. CDMA is so good at filtering noise, it can use frequencies in the COAX that can't be used by anything else because the noise makes it useless to TDMA/FDMA.
In the end, fiber uses cheaper equipment, but installing all those lines would still cost more than changing a node to support CDMA.
back in my advanced network class, we spent a week covering TDMA/FDMA/CDMA. Most of the time was spent on CDMA as it's the most complicated and generally much much much much better. My teacher said that there are only two limitations to how many clients can use CDMA at a time, and that's signal clarity and processing power. Otherwise CDMA is like FDMA in that each channel is its own, and unlike TDMA, no sharing.
Ohh, CDMA mode is limited to 128QAM on the download because the algorithm distorts the signal a bit, TDMA mode supports 256 QAM, but it's only a minor difference in bandwidth per channel.
FDMA is like a person talking to another person in their own personal room(frequency). Typically this room isn't perfectly isolated, so you still get noise from other rooms.
TDMA is like a bunch of people in the same room, but only one can talk at a time
CDMA is like a bunch of people in the same room talking at the same time. After a bit, it starts to get noisy, but it just means you might have to listen better(filter), shout louder, or ask to have them repeat themselves. But you can pack quite a few people in that room before it gets crowded and for the most part, you don't care about everyone else as it's almost as good as having your own room.
The only people who can sniff traffic is your ISP or the government with ISP access. Sniffing requires either data to be broadcasted or data to be redirected/mirrored. The internet doesn't broadcast data and mirroring data requires access to routers/switches.
It can be done, but you have MUCH bigger issues at hand if you're targeted by your ISP/Government.
Short of P2P, where you actively broadcast your public IP, it will be nearly impossible to acquire someone's IP.
Luckily, Win7 by default blocks incoming connections from outside your network. You have to "OK" an application to accept incoming from public networks. Also, Win7 is nearly impenetrable from a network standpoint. Win7 network security is up there with a locked down Linux box.
Since Win95, machines have been able to resolve IPs based on network names, not just DNS. You don't even need DNS setup to not have to use IP addresses.
They already have designs that self cool and the nuclear reaction actually has a negative feedback, which needs to be blocked.
The newer core designs, aka not 60 years old, would have kept the cores cool even without power and the rods would have went into a negative feedback cycle which would have cooled them down faster.
The newer, safer, less-waste designs are much more expensive, so here's hoping to actually putting money into new plants.
The entire island is surrounded by faults and oceans and they have no such thing as "un-used" land. No matter where they put it, it will be near a site that will eventually be earthquake active. About every place they could put it would fall under "hit by magnitude 9.0 earthquakes and Tsunamis", just probably not on record.
My cable modem says 18mb/sec, speedtest says 40-70mb/sec, my network graph shows ~80-100mb/sec during powerboost, Steam shows a sustained average of ~19mb, UDP "streams" average about 60mb/sec sustained with spikes near 100mb/sec.
My mom has DSL. She has a 60ms ping to her first hop. Her first hop has a DNS name of her town; the second hop is named from another city. Her ISP(the only ISP) has only one building in the entire town, which is under a mile away.
I should think it's safe to assume it's taking ~60ms for her packets to move 1 mile. to put that into perspective, I get a 19ms ping to Chicago(~600mi away) and ~45ms ping to New York. My first hop is 6ms and my second hop is 6ms and my thirds hop is 6ms. The second and third hop are at least 30 miles away as that's how far the city is with the name of the hop.
Don't tell me DSL is automatically better than cable.
According to Cisco's SCDMA DOCSIS 3.0 documentation, you can have 128 40mbit logical channels in a single 40mbit physical channel. Simple math puts that at ~5gbit of bandwidth. Add in 4 channels, which is fairly common, and you can have 20,480mbit shared by 1000 people, which is 20.48mbit per user, but you can also burst up to 320mbit.
You could have 8 channels and have 40,960mbit of bandwidth to the node, which is 40.96mbit per user for 1000 users. None of this matters because you said only a 10gb uplink from the node.
I would take DOCSIS 3.0 SCDMA 8 channel over 1000 channels of 24mbit DSL anyday.
"Games/sites that ask the user to choose internet connection speed with the ranking Cable > ADSL > dialup is pretty stupid"
I remember seeing the :
Dial-up
ISDN
DSL
Cable
T1
> 1.5mbps
wtf, sounds like they assume cable/dsl is less than 1.5mbps
I am conflicted. I do find it "low" to be suing companies from a country that just experience a revolution, but then again, these companies listened to their government to shutdown the internet. But again, as much as I loath them shutting down the intarweb, they were just following orders. I still would enjoy Verizon taking a hit, but allowing a suit out of spite isn't the way to go.
If someone should be sued, it should be the prior government of Egypt.
If you're going to enter manual IPs, then just do stuff like xxxx:0123::1 xxxx:0123::2 xxxx:0123::3 xxxx:0123::4 etc
Should be easy to remember.
"save me having yet-another-avenue where someone could get onto my network if I'd made a mistake in the configuration"
I wonder which is safer, security through NAT or security through obscurity via a HUGE address range. Even if you misconfigured your firewall, it will take a VERY long time to scan a /64, or ever worse, a /48 for IPs.
A /48 has 1,208,925,819,614,629,174,706,176 IPs. A 100mbit connection can send a maximum of 195,312 64byte ping packets(probably a different size for IPv6). If you had 10,000 devices on your network, they would have a 1 in 120,892,581,961,462,917,470 chance of hitting an in-use IP. On average, it would take 618,970,019,642,690 seconds of 100mbit/sec of scanning to find a single live IP, or about 19,600 millenia.
By default, the IP address you make out-going connections won't accept incoming connections. So even if someone logged you connecting to a web-page with xxxx::1, they can't use that IP to make a connection in to you.
I should hope any server that is meant to be facing the internet is locked down, even if your internal devices aren't.
Holding my breath for 1600p 120hz 30bpp. That's the max displayport can handle
you're mixing up the term "users". He's talking about clients, not internal admins/developers. His "user" cost for licenses won't grow as he gets more clients.
People aren't born thinking a certain way. People indeed can be taught how to think "like a computer scientist", which is the whole point of a computer science degree.
Not sure about that. A lot of the best programmers I've met are natural "problem solvers" and are very inquisitive in information even outside programming. They prefer working with computers because computers are great at following a set of instructions, but they would've done well in almost any field.
I've met two types of programmers in my life, those who were taught to program and those who were born to solve problems. The ones who were taught to program just regurgitated knowledge without the understanding of how and why.
The problem with programming is there are many ways to solve a given problem. The person who was taught to program won't see the difference between a linked-list or an array or how it fits into their program design. They typically don't see the big picture, they just "solve" their current issue and don't think how that will affect other parts of the program.
Their programs work, but don't work nearly as good. Sometimes you can see magnitude differences in speed and scaling issues.
Programming is different than many other fields. Many times it's not just important to have a functional program, but a fast, scalable, secure, easily debugged, and expandable program.Design is just as important as functionality.
I've met my share of computer science engineers with degrees from respectable colleges and great work backgrounds and recommendations, and they don't understand how their application interacts with the database back-end. They write code that would be a great design if all the data was stored in memory, but is horrible when you have a DB back-end. Again, they only understand the small part of the application that they're working on. A bit more understanding in how and why would create a much faster application. Faster application means fewer servers. Fewer servers means less power and fewer admins. It costs real world money to hire people who are "taught" programming.
Now there's always exceptions, but my anecdotal experience has been more correct than not, in my life. I've worked with "taught" programmers and their still very nice, smart, respectable individuals, but you need to know what to expect from them. I've also worked with people who were more knowledgeable than me if not smarter than me, I recognized this and respected their opinions. I'm 100% sure that there are smarter people than me out there and I accept a good idea no matter who it comes from.
This is why the city should only own the last mile infrastructure. Let the ISPs lease last mile connections from the City. Then the ISPs can compete on supplying an internet connection instead of who owns the right-a-way to the last mile infrastructure..
You could still have like a 1/1mbit internet connection via the city for some low price like $10/month or something. This way really poor people can still get the basics without competing with ISPs for services.
OMG! it's a Death Star!
Sorry, had to.. :*(
I'm no physics major of any sort, but when you say "system in thermal equilibrium", you mean of actual heat. Yes, no heat transfer should be happening conductivity. But there is a radiation heat transfer going on. With conductive heat, if the two bodies are the same temp, there's no physical heat flow, but with IR, there is radiative heat flow all the time. Even if the system is in balance, there is still IR radiation flowing. They're just tapping into that.
So long as there's IR photons moving, heat is moving.
At least this is my understanding, which could very well be wrong.
Probably never had a real reason to have a diode that worked at 10thz. Now that there's a demand, a supply might pop up.
I had a history book in college that was ~6months old at the time, several revisions in and had numerous awards. It had a section dedicated entirely to talking about how the Europeans purposefully spread smallpox and wiped out entire villages. It was covered under a chapter like "The Beginning of Biological Warfare". My teacher with a PHD in history also talked about it as fact. Well, neither the book nor my teacher specifically said blankets were used, but they both said smallpox was spread and it devastated villages and was done on purpose many times.
I've had several other history books in school say the same thing.
How is this a myth? I thought it was common knowledge being that historians and history books proclaim it as fact.
Cover the Earth with enough 90%+ efficient solar panels and watch the global temp drop, assuming enough power is stored or converted.
Covering your house with those kinds of solar panels would not only reduce your house temp, but could power your AC.
"Can you imagine? Your ISP decides to give you a new prefix and you'd have to program it into your switches so they can talk to the right lightbulbs again."
You probably wouldn't want each light/fixture to have a public IP, just private. Let the control unit in your house have a public IP.
"One of the benefits of NAT was the internal network was separated from the external - changes to the external IP addresses didn't influence the internal ones"
At least with Vista/7, each machine gets 3 IPs by default. A private IP, a static Public IP, and a random public IP that changes avery few minutes and refuses incoming connections. You don't need to worry about your private IPs changing, just your public IPs. No biggie.
"Sure you can assign more IPv6 addresses to ensure that your home server is always FC00::100, but having to know all the IP addresses of each machine when diagnosing things just gets to be a pain"
Thank god for name-to-IP protocols that have been standard for the past 2 decades.
The transition will be annoying, but once we get use to IPv6, it will be easier.
The Hyper-V Stand alone server is free from MS. You don't even need to install Windows to use it(Clustering/1TB+ memory/8CPU-Host/4CPU-Guest/64VMs/Live-migration). Free is a very attractive "licensing".
I think most people are going after funny, but funny points don't count towards karma :*(
We need a separate "funny" system.
I do agree, even *if* he was/is correct, it shouldn't have been modded that way.
Nearly all devices and recipes are in the english system over here. We have no relation to the metric system. When doing math, I convert to metric, do the math, then convert back because it's easier. But when someone says something is 30c, I have no idea if that's hot or cold.
Not to mention how many hand-written recipes are in english. Who is going to go back through every note written by their relatives/friends/etc and convert it all to metric. To be effective, you would have to convert every oven/book/measuring-device/etc all at the same time.
People complained about the dTV transition because their 60 year old TVs no longer worked, even though everyone in the USA got 2 free vouchers for converter boxes. This would be much much worse.