I had a 770 too, and I remember just how badly the UI sucked. Most of the apps that weren't part of the standard install weren't designed for touchscreen input and were clunky (most of the ones that were designed for the touchscreen were still clunky). It had a resistive touchscreen, so couldn't take advantage of multitouch and came with a stylus because you needed to tap very accurately to be able to hit controls on a lot of things. Great screen for the era though.
No, taxpayers in Northern Europe bailed out the banks. That was difficult to sell politically, so it was spun as a bailout for the southern countries, because taxpayers in Northern Europe have more sympathy for poor farmers in Greece than for rich bankers in London. They also spun the fact that the German economy has benefitted hugely from an artificially weak currency promoting exports and that the Greek economy has been harmed by an artificially strong currency inhibiting exports as those nice Germans coming to the rescue of irresponsible greeks.
Because no machine is probably not going to catch fire and burn the building down. Because no machine is not likely to become infected with malware and steal money from the people who use it for email or Internet banking. Because no machine doesn't cost electricity to run and employee time to maintain. Because no machine doesn't cause people who want to use it to expect it to actually work and complain that it's a pile of crap.
And libraries will also buy books if people who go to the libraries want them, without requiring the publisher to do anything. This is exactly the opposite of the 'Free Basics' stuff, where the consumer only gets things where the producer has explicitly opted in. His views on what public schools and hospitals provide is more a depressing commentary on how backwards the USA is than anything else.
Way off-topic, but: In English, ass means either donkey or (colloquially, and less common now), stupid person. Arse means backside (Saxon derivation, as I recall). some time under 100 years ago, Americans started substituting ass for arse and now use ass to mean all three things. I'm not sure exactly when this happened - the two English definitions of ass are in the 1901 edition of Websters.
Which sounds like it's really poorly structured code, with the kind of layering that would make me fail a student project, and bounce back in code review anything that was intended to go anywhere near production.
I'm surprised at how self-destructive law enforcement in the USA is. Police can only operate with the cooperation of the majority of the public. When they lose this, not only does their job become more difficult it becomes a lot more dangerous. Yet the police keep jumping on ways to make themselves less popular with the generally law-abiding public. It's almost as if someone wants to avoid paying out on any of their pensions...
Indeed. I actually read TFA, expecting to see some neat algorithmic improvements in how they did incremental updates. Instead, the post read like a first-year undergraduate student assignment writeup ('we tried doing the really naive thing, it turned out to be really slow, so we did the obvious thing').
The 'eco' setting, which takes longer but uses less power and water. This is the one I normally use.
The 'dishes' setting, which uses more power and water than 'eco', but washes faster.
The 'glasses' setting, which doesn't clean as well, but is better for washing more fragile glasses.
A lot of people also use a rinse setting if they don't generate enough dirty dishes to run the machine more than once a week or so, to prevent mould from growing in the machine. Mine is a small countertop model, so I don't have this issue.
Flashing GPUs with a higher end firmware. Unlocking cores in AMD CPUs
These are both pretty bad examples, because those cores are usually disabled because they don't pass all of the tests. With small feature sizes, yields of complex ICs are pretty low. It's common for CPUs and GPUs to be designed with various optional features. If there's a manufacturing defect in one part, then that part is disabled and you can still use the rest. The Cell was a particularly good example of this: very few had 8 working SPUs and so the ones in the PS3 all had 7 SPUs enabled and the ones that managed to pass tests with all 8 SPUs were sold in blades.
Sometimes you're fortunate and the yields are higher than expected, so some chips get put in a cheaper bin in spite of testing well enough to be sold in a more expensive bin.
Nonsense. A limited rate or total download cap would satisfy the network neutrality requirements and cost no more than allowing unlimited access to a restricted set of sites.
Yes, unions in the USA are broken. If you only have one union that you can be a member of, and no choice whether to be a member of that union, it's hardly surprising that the union represents the interests of the management, rather than its members.
It's worth noting that unions in the USA are very different to most of Europe. For some reason, the US tends towards monopolistic unions, i.e. there is one union representing all of the employees for a particular field, and often membership is compulsory. This means that the union has no real incentive to work for its members. In contrast, the UK has two big teachers' unions and a number of smaller ones, that are all national. And, by law, any deal offered to members of one union must be offered to all employees. This means that there's competition between unions for members and unions that don't do much for their members lose bargaining power (being able to bring 5% of a company's employees out on strike is only a threat if they're a really important 5%).
How, pray tell, would you do so? You "cash in" by selling working units, which, by definition is not secret.
You get a license to build a small solar or wind farm and sell energy back to the grid. You buy ultra-cheap (mostly non-functional) solar panels, skip on most of the wiring, but have something that looks plausible. You connect up your magic box and sell at a fraction below the amount that you'd have generated in ideal conditions. You slowly expand until you're making enough to be taken seriously as a supplier. Then you connect up an 'experimental' power station that provides a few GW sustained output. Build a few more of these until you're really raking it in and providing a significant fraction of at least one country's electricity supply. Then start licensing the designs.
Alternatively, you go to the DoD and say 'I have a machine that can power small boats with the same kind of output as the reactors that you put on aircraft carriers, allow them to operate for years without refuelling and power all of the lasers / rail guns that you can fit on them. Once you've evaluated the technology, I want a few million up front, royalties for every reactor that you build, the patent for commercial exploitation, and a government contract to provide power to all 50 states.' If it really works, the Navy will say 'here is your enormous pile of money, thank you.'
Rossi is actually very clever in his scam. He doesn't claim to have created cold fusion, he explicitly claims that he doesn't know the underlying mechanism behind it. If you read his releases carefully, he's laid enough breadcrumbs that you could explain what he's doing as catalysed nuclear decay (which is more interesting than cold fusion, but still doesn't have any kind of theory behind it), which will let him run the scam for even longer once the claim (that he never personally made) that it's fusion is discredited.
Coming out of permafrost because of an admitted 1C change in temperature in the last 100 years?
You know, there's a reason that it's called global warming. A change of 1K over the entire planet is a huge amount of energy, but it's also an average. It's not uniformly distributed, and some place have become colder (which is why people typically say 'climate change' instead of 'global warming' now - they're tired of trying to explain things to idiots who say 'it's colder here, so global warming must be nonsense').
Raising the average temperature of the atmosphere by 1K requires about 5ZJ of energy. If you dump this much energy into a chaotic system (global weather patterns), do you really expect that you'll get a completely uniform distribution of temperature change?
Raising the temperature of the oceans by 1K requires about 5.6ZJ of energy, for comparison, so changes in sea temperature are more concerning.
Some pacemakers use tritium (half life, around 9 years) in a betavoltaic generator, which is a lot easier to make small than a RTG. Tritium is a lot cheaper than Pu-238.
Which is doubly silly, because if you care even a little bit about security (but not quite enough to avoid Android), then you use a different Google account for each Android device. The stupidity that allows anyone logged in at a computer with that Google account to uninstall and push apps to your phone makes it very easy for attackers who compromise your browser (and get gmail, or some other Google service), for example via an ad or a malicious attachment, to replace your Internet banking app (or anything else used with two-factor authentication) with a trojaned one.
Additionally, the WINE developers now recommend shipping WINE rather than trying to build WINELib, because you're likely to hit problems when you move from COFF compiled with Visual Studio to ELF compiled with something else. WINELib is really only a good solution if your code is already pretty portable, and then it probably doesn't need anything like WINE.
A good implementation of ASLR can add upwards of 40bits of entropy
Given that most existing 64-bit hardware provides a 48-bit virtual address space, which gives the upper bound. Most things that you care about are at least 4-byte aligned, so that eats two, giving you at most 46. The top half of the address space is usually reserved for the OS, giving 45 bits. If you are not randomising within a page (which you can't for memory-mapped code), then that eats another 10 bits, leaving 35 (for performance, you often lose a few more because you're trying to align things for superpages). The offset of PLT entries is pretty predictable, which is what makes BROP attacks work, so you only need to find something the size of the library allocation to find them, which drops you down to far less. I'm interested in where you've found a 'good implementation of ASLR' that has the properties that you describe.
Is this reallysuch a widespread, common problem that people need insurance for it
I think that you misunderstand insurance. The things that you want to offer insurance for are ones where the perceived risk is significantly higher than the actual risk. This lets you charge a hefty premium, with little risk of having to pay out.
Speaking as a compiler writer: There is a huge difference between architectural and microarchitectural optimisations. When vectorising, the back end provides a cost model indicating the availability of different resources.
To give a toy example, consider two implementations of the same vector instruction set. One provides a one-cycle add and a 5-cycle multiply, but microcodes the fused multiply-add and it takes 10 cycles. The other provides a 2-cycle add and a 6 cycle multiply, but a 7-cycle fused multiply add. They're both implementing the same vector ISA, but on the first one generating FMA instructions will be slower than issuing the add and multiply separately.
In real CPUs, the constraints are far more complicated than this. For a typical SSE / AVX implementation, you probably have around 6 pipelines. Each pipeline can (probably) issue one instruction per cycle, but each instruction can typically be issued by one or possibly two of the pipelines (e.g. you'll have more pipelines that can handle add than square root). Operations take between about one and 30 cycles before you can use the result. These are very different between chips and optimal code for one is sub-optimal for another. One of the FreeBSD developers spent some time last year looking at different AVX / SSE implementations of things like memcpy. The exact mix of instructions that gave the best performance was different for each of three revisions of Intel chips (the same instructions were supported on all).
To give a more concrete example, all CPUs that advertise SSE can work on 128-bit vectors. Some Atom chips, however, only had a 64-bit wide vector pipelines, so would dispatch half of a vector each cycle. This made various things much slower.
As to GCC 'does this just fine', for the sort of code that we're talking about ICC is often a factor of 4-8 faster than GCC. GCC does about as well as ICC's path for AMD (and for any other chips that they don't have a cost model for).
I had a 770 too, and I remember just how badly the UI sucked. Most of the apps that weren't part of the standard install weren't designed for touchscreen input and were clunky (most of the ones that were designed for the touchscreen were still clunky). It had a resistive touchscreen, so couldn't take advantage of multitouch and came with a stylus because you needed to tap very accurately to be able to hit controls on a lot of things. Great screen for the era though.
No, taxpayers in Northern Europe bailed out the banks. That was difficult to sell politically, so it was spun as a bailout for the southern countries, because taxpayers in Northern Europe have more sympathy for poor farmers in Greece than for rich bankers in London. They also spun the fact that the German economy has benefitted hugely from an artificially weak currency promoting exports and that the Greek economy has been harmed by an artificially strong currency inhibiting exports as those nice Germans coming to the rescue of irresponsible greeks.
Because no machine is probably not going to catch fire and burn the building down. Because no machine is not likely to become infected with malware and steal money from the people who use it for email or Internet banking. Because no machine doesn't cost electricity to run and employee time to maintain. Because no machine doesn't cause people who want to use it to expect it to actually work and complain that it's a pile of crap.
And libraries will also buy books if people who go to the libraries want them, without requiring the publisher to do anything. This is exactly the opposite of the 'Free Basics' stuff, where the consumer only gets things where the producer has explicitly opted in. His views on what public schools and hospitals provide is more a depressing commentary on how backwards the USA is than anything else.
Way off-topic, but: In English, ass means either donkey or (colloquially, and less common now), stupid person. Arse means backside (Saxon derivation, as I recall). some time under 100 years ago, Americans started substituting ass for arse and now use ass to mean all three things. I'm not sure exactly when this happened - the two English definitions of ass are in the 1901 edition of Websters.
Which sounds like it's really poorly structured code, with the kind of layering that would make me fail a student project, and bounce back in code review anything that was intended to go anywhere near production.
I'm surprised at how self-destructive law enforcement in the USA is. Police can only operate with the cooperation of the majority of the public. When they lose this, not only does their job become more difficult it becomes a lot more dangerous. Yet the police keep jumping on ways to make themselves less popular with the generally law-abiding public. It's almost as if someone wants to avoid paying out on any of their pensions...
Indeed. I actually read TFA, expecting to see some neat algorithmic improvements in how they did incremental updates. Instead, the post read like a first-year undergraduate student assignment writeup ('we tried doing the really naive thing, it turned out to be really slow, so we did the obvious thing').
potatoes au graten
Ouch, that mangling really made my head hurt and I'm not even French.
A lot of people also use a rinse setting if they don't generate enough dirty dishes to run the machine more than once a week or so, to prevent mould from growing in the machine. Mine is a small countertop model, so I don't have this issue.
Flashing GPUs with a higher end firmware. Unlocking cores in AMD CPUs
These are both pretty bad examples, because those cores are usually disabled because they don't pass all of the tests. With small feature sizes, yields of complex ICs are pretty low. It's common for CPUs and GPUs to be designed with various optional features. If there's a manufacturing defect in one part, then that part is disabled and you can still use the rest. The Cell was a particularly good example of this: very few had 8 working SPUs and so the ones in the PS3 all had 7 SPUs enabled and the ones that managed to pass tests with all 8 SPUs were sold in blades.
Sometimes you're fortunate and the yields are higher than expected, so some chips get put in a cheaper bin in spite of testing well enough to be sold in a more expensive bin.
Have you tried thermite?
Nonsense. A limited rate or total download cap would satisfy the network neutrality requirements and cost no more than allowing unlimited access to a restricted set of sites.
Yes, unions in the USA are broken. If you only have one union that you can be a member of, and no choice whether to be a member of that union, it's hardly surprising that the union represents the interests of the management, rather than its members.
It's worth noting that unions in the USA are very different to most of Europe. For some reason, the US tends towards monopolistic unions, i.e. there is one union representing all of the employees for a particular field, and often membership is compulsory. This means that the union has no real incentive to work for its members. In contrast, the UK has two big teachers' unions and a number of smaller ones, that are all national. And, by law, any deal offered to members of one union must be offered to all employees. This means that there's competition between unions for members and unions that don't do much for their members lose bargaining power (being able to bring 5% of a company's employees out on strike is only a threat if they're a really important 5%).
How, pray tell, would you do so? You "cash in" by selling working units, which, by definition is not secret.
You get a license to build a small solar or wind farm and sell energy back to the grid. You buy ultra-cheap (mostly non-functional) solar panels, skip on most of the wiring, but have something that looks plausible. You connect up your magic box and sell at a fraction below the amount that you'd have generated in ideal conditions. You slowly expand until you're making enough to be taken seriously as a supplier. Then you connect up an 'experimental' power station that provides a few GW sustained output. Build a few more of these until you're really raking it in and providing a significant fraction of at least one country's electricity supply. Then start licensing the designs.
Alternatively, you go to the DoD and say 'I have a machine that can power small boats with the same kind of output as the reactors that you put on aircraft carriers, allow them to operate for years without refuelling and power all of the lasers / rail guns that you can fit on them. Once you've evaluated the technology, I want a few million up front, royalties for every reactor that you build, the patent for commercial exploitation, and a government contract to provide power to all 50 states.' If it really works, the Navy will say 'here is your enormous pile of money, thank you.'
Rossi is actually very clever in his scam. He doesn't claim to have created cold fusion, he explicitly claims that he doesn't know the underlying mechanism behind it. If you read his releases carefully, he's laid enough breadcrumbs that you could explain what he's doing as catalysed nuclear decay (which is more interesting than cold fusion, but still doesn't have any kind of theory behind it), which will let him run the scam for even longer once the claim (that he never personally made) that it's fusion is discredited.
Coming out of permafrost because of an admitted 1C change in temperature in the last 100 years?
You know, there's a reason that it's called global warming. A change of 1K over the entire planet is a huge amount of energy, but it's also an average. It's not uniformly distributed, and some place have become colder (which is why people typically say 'climate change' instead of 'global warming' now - they're tired of trying to explain things to idiots who say 'it's colder here, so global warming must be nonsense').
Raising the average temperature of the atmosphere by 1K requires about 5ZJ of energy. If you dump this much energy into a chaotic system (global weather patterns), do you really expect that you'll get a completely uniform distribution of temperature change?
Raising the temperature of the oceans by 1K requires about 5.6ZJ of energy, for comparison, so changes in sea temperature are more concerning.
Some pacemakers use tritium (half life, around 9 years) in a betavoltaic generator, which is a lot easier to make small than a RTG. Tritium is a lot cheaper than Pu-238.
Is this the same fingerprint that Android was, until a very recent release, storing as an unencrypted image that all apps had access to?
Which is doubly silly, because if you care even a little bit about security (but not quite enough to avoid Android), then you use a different Google account for each Android device. The stupidity that allows anyone logged in at a computer with that Google account to uninstall and push apps to your phone makes it very easy for attackers who compromise your browser (and get gmail, or some other Google service), for example via an ad or a malicious attachment, to replace your Internet banking app (or anything else used with two-factor authentication) with a trojaned one.
Additionally, the WINE developers now recommend shipping WINE rather than trying to build WINELib, because you're likely to hit problems when you move from COFF compiled with Visual Studio to ELF compiled with something else. WINELib is really only a good solution if your code is already pretty portable, and then it probably doesn't need anything like WINE.
A good implementation of ASLR can add upwards of 40bits of entropy
Given that most existing 64-bit hardware provides a 48-bit virtual address space, which gives the upper bound. Most things that you care about are at least 4-byte aligned, so that eats two, giving you at most 46. The top half of the address space is usually reserved for the OS, giving 45 bits. If you are not randomising within a page (which you can't for memory-mapped code), then that eats another 10 bits, leaving 35 (for performance, you often lose a few more because you're trying to align things for superpages). The offset of PLT entries is pretty predictable, which is what makes BROP attacks work, so you only need to find something the size of the library allocation to find them, which drops you down to far less. I'm interested in where you've found a 'good implementation of ASLR' that has the properties that you describe.
Is this reallysuch a widespread, common problem that people need insurance for it
I think that you misunderstand insurance. The things that you want to offer insurance for are ones where the perceived risk is significantly higher than the actual risk. This lets you charge a hefty premium, with little risk of having to pay out.
To give a toy example, consider two implementations of the same vector instruction set. One provides a one-cycle add and a 5-cycle multiply, but microcodes the fused multiply-add and it takes 10 cycles. The other provides a 2-cycle add and a 6 cycle multiply, but a 7-cycle fused multiply add. They're both implementing the same vector ISA, but on the first one generating FMA instructions will be slower than issuing the add and multiply separately.
In real CPUs, the constraints are far more complicated than this. For a typical SSE / AVX implementation, you probably have around 6 pipelines. Each pipeline can (probably) issue one instruction per cycle, but each instruction can typically be issued by one or possibly two of the pipelines (e.g. you'll have more pipelines that can handle add than square root). Operations take between about one and 30 cycles before you can use the result. These are very different between chips and optimal code for one is sub-optimal for another. One of the FreeBSD developers spent some time last year looking at different AVX / SSE implementations of things like memcpy. The exact mix of instructions that gave the best performance was different for each of three revisions of Intel chips (the same instructions were supported on all).
To give a more concrete example, all CPUs that advertise SSE can work on 128-bit vectors. Some Atom chips, however, only had a 64-bit wide vector pipelines, so would dispatch half of a vector each cycle. This made various things much slower.
As to GCC 'does this just fine', for the sort of code that we're talking about ICC is often a factor of 4-8 faster than GCC. GCC does about as well as ICC's path for AMD (and for any other chips that they don't have a cost model for).