Except remember how Safari had a similar issue several years ago? It could automatically launch stuff that was downloaded just by virtue of you hitting the wrong page?
That particular issue was related to the definition of 'safe' files. By default, every web browser runs some kinds of files, in particular HTML and (usually) JavaScript and images. If you have a vulnerability in your png renderer or HTML parser, for example, then opening any web page will exploit the browser. The only difference with Safari was that PDF was included in the list of files that are safe. The same applies to most browsers with the Adobe plugin installed. The Adobe plugin has also had a number of vulnerabilities in recent years.
The problem here wasn't running code by default, it was loading untrusted data through a large body of complex code outside a sandbox. Chromium and Safari (and, I think, IE9) now open everything that's downloaded from an untrusted source and loaded automatically in an environment with reduced privilege. The Chromium sandbox is a bit better (although it varies a lot depending on the platform: on Windows it's pretty poor) and runs at a finer granularity, so with Safari an exploit may still give an attacker access to state held by other tabs (the same applies to Chromium if you have more than some threshold number of tabs open - 20, I believe).
Really? Take a body of text (e.g. an email or web page), and identify which bits are dates, telephone numbers, and addresses, within it, and provide custom actions for those is a high school assignment? Where on earth did you go to school?
The thing is that the EU courts do nothing domestically, but boy, when they see a US company, it is no holds barred
Bullshit. The largest antitrust fine to date: €992M, on a cartel of lift makers within the EU. The difference is that the myopic US press doesn't bother covering anything other than fines on US companies, so you don't hear about them.
It may still count as an Apple innovation. I believe the first time data detectors (i.e. things that recognise telephone numbers and so on from text and display contextual actions) appeared was the Newton. That said, the Newton was released 19 years ago, so the patents should be expiring round about now...
That's largely irrelevant. We can determine categories of harm. Jef Raskin proposed that the three laws should be applied to user interface design, for example making the first law into 'A program may not harm a user's data, or through inaction allow a user's data to come to harm.' The software doesn't need to be sentient to autosave and persist the undo history and a well-designed framework can make this the default for developers. Similarly, an operating system can restrict what an application can do so that it's difficult (and easy to spot) if an application tries to disclose personal data over the network.
Not if it's tail recursion. If you're using XOR, then you can do it with no temporary variables at all. Take the two ends, XOR them together and store the result into one end. Now XOR the two ends together and store the result into the other end. You've now swapped the two ends. Next you tail-recurse with the two new endpoints (or loop). In practice, you do need two temporary variables in this approach to hold pointers to the two ends of the string, so there's not really any advantage in doing it this way over using a third one for the temporary value that you're exchanging, unless you're on a machine with only 3 spare registers and register-memory operations. I believe this might be an efficient implementation for i386, but probably not for anything else.
The 20% time for people I know at Google is spent, but it's spent on other Google projects. Usually the project that they're officially working on depends on some other Google project that is missing some features or behind schedule, so they spend their 20% time on that. It's a shame, because that wasn't the case 10 years ago and people being allowed to spend their 20% time on things that might be complete failures produced some quite valuable things for Google, such as gmail.
The use of big-O notation here is very sloppy, and a quick look indicates that it's pervasive across the wikipedia articles. O(1) means that the worst case performance is constant time. You can say that the average case is constant time, but saying that the average case is O(1) is just wrong: the 'average case' and the big-O are contradictory statements. Informally, people do use O(1) to mean constant time, but that doesn't make it correct.
I never saw them on campus in Swansea, but that didn't stop me and several others from getting an interview with them. I decided to work freelance for a few years and then return to academia, but a few of my contemporaries went to work there. Getting an interview at Google is really easy. Getting in is a bit harder. Once you get past the technical stages, they spend a lot of effort trying to work out which bit of the organisation you would fit in with. I was quite impressed with that part of their process. Unfortunately in my case all of the projects that looked interesting were in places that I didn't really want to work, but I got a more interesting offer a little bit later so it all worked out in the end.
It's not on the way, it was released last year. Both gcc and clang are already a good way along implementing it, and we've added a big chunk of the library support to FreeBSD libc already.
Custom ROMs means longer-term support. My phone is officially up to 2.2 and has a semi-official developer-only 2.3 release. It supported by GyanogenMod 7.2, which is based on the latest 2.3.x series release. It will never get an official Android 4.x release. To be supported by CyanogenMod 9, based on Android 4.0, it needs updated drivers. The manufacturer has provided an updated driver blob, with no official support and no commitment to provide updates to it in the future.
Intel has nothing to lose when they do it, because their graphics parts are substandard to even 6 year old parts from nVidia
I just looked up some benchmarks and the first ones I found said that running Skyrim they were about half way between Geforce GT 520 and Geforce GT 440 performance. The 520 was released about 18 months ago as an entry-level GPU and the 440 a bit earlier as a mid-level GPU. They're still a bit behind, but I think 6 years is an exaggeration.
I've just finished reading the Ivy Bridge ISA docs, and I've read the reverse-engineered nVidia docs (and worked on a compiler targeting nVidia GPUs) and Intel's design is pretty clever. The way they lay out their register set means that you will be able to generate much shorter instruction sequences for some very common operations than with nVidia hardware. Given Intel's track record, I'd imagine that their shader compiler is not yet doing this, but it will in a few driver revisions. I wouldn't be surprised if we see a fairly significant speedup in shader performance over the next 6-12 months from driver improvements in Ivy Bridge.
Truth is soon Intel hardware with the open source driver will be more powerful than the NVidia card with the open source driver.
There's also the problem (from nVidia's perspective) of commoditisation of the market. Most consumers don't want the fastest GPU, they want the cheapest GPU that's fast enough for their needs. As with CPUs, some people don't need the latest and greatest, and this percentage of the market grows over time. As the niche of people needing the high end cards shrinks, so does nVidia's R&D budget and their ability to stay on the leading edge. This is something nVidia should be intimately familiar with, as it was how they killed SGI...
I've worked on GPU drivers, and while much of what you say is correct, you seem to be conflating 'open source developer' with 'some guy working in his spare time'. When I was hacking on GPU drivers, it was for a company that sold a compiler targeting them for HPC. There are other companies with a vested interest in improving GPU drivers, for example those selling big GPU clusters, and they can employ competent people to hack on the drivers. There are also a few small companies that specialise in writing graphics drivers who are happy to take on contracts to write drivers for new cards (GPU makers often subcontract out some of this work, especially in the embedded space).
Education, probably. Experience? I didn't really have any when I started. Location? Most of my clients were a few thousand miles away. That said, I've talked to builders who have said the same thing: they can work all of the time and make more money, or they can work when they want and make less.
As an employee, probably not. As a freelancer, almost certainly. I worked for a small handful of companies, including a few small businesses that couldn't afford to employ me full time, but got a lot of benefit from a day or two a month of having me do design and code review for them. You also usually make more per day as a freelancer, so working half the time may mean the same money, and you have to go down to working quarter or less time to get that reduction in income.
That article quotes a suicide rate of 468, from an armed forces contingent of 1.5M or 3M if you include reservists (which the 468 figure does include). That means that 0.015% of the US military commits suicide, which puts them at around 15 times the national average. That doesn't necessarily imply a causal relationship. Several reasons come to mind immediately why they would be expected to have a higher suicide rate than the general population:
Most people in the USA who commit suicide do so with a firearm (around 60%). This is one of the easiest ways of killing yourself because it lets you do it quickly - giving you less time to reconsider - and is believed by most who do so to be a painless way out. At the very least it's quick.
The second reason is that a lot of army recruitment material talks about giving people a purpose or direction in life. As such, I'd expect a significant percentage of people who feel they have nothing to live for to join up (as is a recurring theme in fiction) and, if the army then fails to provide them with something that they consider to be a worthwhile purpose for suicide to seem like an attractive alternative.
Finally, there's the obvious correlation between high-stress occupations and suicide...
Weren't we all supposed to be enjoying 5 months of vacation by now.
Most people who post on Slashdot probably can, as long as you're willing to accept a lower income than you would if you worked full time. I did for several years. I made enough to live comfortably, but not extravagantly, and had a very high quality of living. I'm now 'working' full time back in academia, because now I get paid to work on things I was doing as a hobby before. The standard of living for someone with the same inflation-adjusted income as me now is far higher than when my parents were my age.
by that measure the advancement of robotics probably won't benefit human lifestyle either
Really? I suggest that you try living in a house that contains no technology developed in the last 100 years for a while if you honestly think that...
This is a problem that has hit a number of slave-owning societies and is currently a problem for China. An imbalance between production and consumption is unsustainable, irrespective of the direction. It was also one of the causes of the US civil war: the south was production-heavy, which was making it hard for workers in the north to compete with cheap imports, which the south needed to keep supplying because they didn't have a large enough local consumer base.
$99 is not much if for a piece of software that you use as an important part of your job. $99 is a lot for a thing that you use occasionally at home. The problem is that since discontinuing MS Works, Microsoft doesn't really have a product for people in the latter category. They'll end up using Google Docs, Open/LibreOffice or some other competitor's product and then one of the big advantages of MS Office - that everyone uses it and so training costs are low - is reduced.
Run it perfectly? No. Run it better than it has been run for the last few years? I can think of about 100 people off the top of my head that could do that...
There are disadvantages both ways. In the UK, for example, the party in power has to call an election within five years of the last one, but after four years they start watching the polls very closely and call the election when they think they are likely to win. Sometimes they'll even do sooner if they're a lot more popular than at the election.
Other countries have the ability to pass a vote of no confidence but default to fixed terms. In these, it's relatively common (depending on the country) for a party with a majority to intentionally lose a confidence vote (i.e. members all vote no confidence in themselves) to cause an election when they are popular.
Ideally, I think, the elections should happen at unpredictable times. Set up a lottery machine with 200 balls, one of which says 'election in 6 weeks' and then spin it every week and hold an election if that ball pops out, or hold one if some percentage of the population requests one.
Yes, and it's not a huge amount. Election campaigning, on the other hand, seems to take about $10 per voter and a lot of time in the USA. Fortunately, your presidential electoral system could survive even the loss of most of the national communication infrastructure, as each state only needs to elect some people to go and choose the president...
Except remember how Safari had a similar issue several years ago? It could automatically launch stuff that was downloaded just by virtue of you hitting the wrong page?
That particular issue was related to the definition of 'safe' files. By default, every web browser runs some kinds of files, in particular HTML and (usually) JavaScript and images. If you have a vulnerability in your png renderer or HTML parser, for example, then opening any web page will exploit the browser. The only difference with Safari was that PDF was included in the list of files that are safe. The same applies to most browsers with the Adobe plugin installed. The Adobe plugin has also had a number of vulnerabilities in recent years.
The problem here wasn't running code by default, it was loading untrusted data through a large body of complex code outside a sandbox. Chromium and Safari (and, I think, IE9) now open everything that's downloaded from an untrusted source and loaded automatically in an environment with reduced privilege. The Chromium sandbox is a bit better (although it varies a lot depending on the platform: on Windows it's pretty poor) and runs at a finer granularity, so with Safari an exploit may still give an attacker access to state held by other tabs (the same applies to Chromium if you have more than some threshold number of tabs open - 20, I believe).
Really? Take a body of text (e.g. an email or web page), and identify which bits are dates, telephone numbers, and addresses, within it, and provide custom actions for those is a high school assignment? Where on earth did you go to school?
The thing is that the EU courts do nothing domestically, but boy, when they see a US company, it is no holds barred
Bullshit. The largest antitrust fine to date: €992M, on a cartel of lift makers within the EU. The difference is that the myopic US press doesn't bother covering anything other than fines on US companies, so you don't hear about them.
It may still count as an Apple innovation. I believe the first time data detectors (i.e. things that recognise telephone numbers and so on from text and display contextual actions) appeared was the Newton. That said, the Newton was released 19 years ago, so the patents should be expiring round about now...
You realise that Jobs was a Beatles fan and named his company after Apple Corps, right?
That's largely irrelevant. We can determine categories of harm. Jef Raskin proposed that the three laws should be applied to user interface design, for example making the first law into 'A program may not harm a user's data, or through inaction allow a user's data to come to harm.' The software doesn't need to be sentient to autosave and persist the undo history and a well-designed framework can make this the default for developers. Similarly, an operating system can restrict what an application can do so that it's difficult (and easy to spot) if an application tries to disclose personal data over the network.
Not if it's tail recursion. If you're using XOR, then you can do it with no temporary variables at all. Take the two ends, XOR them together and store the result into one end. Now XOR the two ends together and store the result into the other end. You've now swapped the two ends. Next you tail-recurse with the two new endpoints (or loop). In practice, you do need two temporary variables in this approach to hold pointers to the two ends of the string, so there's not really any advantage in doing it this way over using a third one for the temporary value that you're exchanging, unless you're on a machine with only 3 spare registers and register-memory operations. I believe this might be an efficient implementation for i386, but probably not for anything else.
The 20% time for people I know at Google is spent, but it's spent on other Google projects. Usually the project that they're officially working on depends on some other Google project that is missing some features or behind schedule, so they spend their 20% time on that. It's a shame, because that wasn't the case 10 years ago and people being allowed to spend their 20% time on things that might be complete failures produced some quite valuable things for Google, such as gmail.
The use of big-O notation here is very sloppy, and a quick look indicates that it's pervasive across the wikipedia articles. O(1) means that the worst case performance is constant time. You can say that the average case is constant time, but saying that the average case is O(1) is just wrong: the 'average case' and the big-O are contradictory statements. Informally, people do use O(1) to mean constant time, but that doesn't make it correct.
I never saw them on campus in Swansea, but that didn't stop me and several others from getting an interview with them. I decided to work freelance for a few years and then return to academia, but a few of my contemporaries went to work there. Getting an interview at Google is really easy. Getting in is a bit harder. Once you get past the technical stages, they spend a lot of effort trying to work out which bit of the organisation you would fit in with. I was quite impressed with that part of their process. Unfortunately in my case all of the projects that looked interesting were in places that I didn't really want to work, but I got a more interesting offer a little bit later so it all worked out in the end.
It's not on the way, it was released last year. Both gcc and clang are already a good way along implementing it, and we've added a big chunk of the library support to FreeBSD libc already.
Custom ROMs means longer-term support. My phone is officially up to 2.2 and has a semi-official developer-only 2.3 release. It supported by GyanogenMod 7.2, which is based on the latest 2.3.x series release. It will never get an official Android 4.x release. To be supported by CyanogenMod 9, based on Android 4.0, it needs updated drivers. The manufacturer has provided an updated driver blob, with no official support and no commitment to provide updates to it in the future.
Intel has nothing to lose when they do it, because their graphics parts are substandard to even 6 year old parts from nVidia
I just looked up some benchmarks and the first ones I found said that running Skyrim they were about half way between Geforce GT 520 and Geforce GT 440 performance. The 520 was released about 18 months ago as an entry-level GPU and the 440 a bit earlier as a mid-level GPU. They're still a bit behind, but I think 6 years is an exaggeration.
I've just finished reading the Ivy Bridge ISA docs, and I've read the reverse-engineered nVidia docs (and worked on a compiler targeting nVidia GPUs) and Intel's design is pretty clever. The way they lay out their register set means that you will be able to generate much shorter instruction sequences for some very common operations than with nVidia hardware. Given Intel's track record, I'd imagine that their shader compiler is not yet doing this, but it will in a few driver revisions. I wouldn't be surprised if we see a fairly significant speedup in shader performance over the next 6-12 months from driver improvements in Ivy Bridge.
Truth is soon Intel hardware with the open source driver will be more powerful than the NVidia card with the open source driver.
There's also the problem (from nVidia's perspective) of commoditisation of the market. Most consumers don't want the fastest GPU, they want the cheapest GPU that's fast enough for their needs. As with CPUs, some people don't need the latest and greatest, and this percentage of the market grows over time. As the niche of people needing the high end cards shrinks, so does nVidia's R&D budget and their ability to stay on the leading edge. This is something nVidia should be intimately familiar with, as it was how they killed SGI...
I've worked on GPU drivers, and while much of what you say is correct, you seem to be conflating 'open source developer' with 'some guy working in his spare time'. When I was hacking on GPU drivers, it was for a company that sold a compiler targeting them for HPC. There are other companies with a vested interest in improving GPU drivers, for example those selling big GPU clusters, and they can employ competent people to hack on the drivers. There are also a few small companies that specialise in writing graphics drivers who are happy to take on contracts to write drivers for new cards (GPU makers often subcontract out some of this work, especially in the embedded space).
Education, probably. Experience? I didn't really have any when I started. Location? Most of my clients were a few thousand miles away. That said, I've talked to builders who have said the same thing: they can work all of the time and make more money, or they can work when they want and make less.
As an employee, probably not. As a freelancer, almost certainly. I worked for a small handful of companies, including a few small businesses that couldn't afford to employ me full time, but got a lot of benefit from a day or two a month of having me do design and code review for them. You also usually make more per day as a freelancer, so working half the time may mean the same money, and you have to go down to working quarter or less time to get that reduction in income.
That article quotes a suicide rate of 468, from an armed forces contingent of 1.5M or 3M if you include reservists (which the 468 figure does include). That means that 0.015% of the US military commits suicide, which puts them at around 15 times the national average. That doesn't necessarily imply a causal relationship. Several reasons come to mind immediately why they would be expected to have a higher suicide rate than the general population:
Most people in the USA who commit suicide do so with a firearm (around 60%). This is one of the easiest ways of killing yourself because it lets you do it quickly - giving you less time to reconsider - and is believed by most who do so to be a painless way out. At the very least it's quick.
The second reason is that a lot of army recruitment material talks about giving people a purpose or direction in life. As such, I'd expect a significant percentage of people who feel they have nothing to live for to join up (as is a recurring theme in fiction) and, if the army then fails to provide them with something that they consider to be a worthwhile purpose for suicide to seem like an attractive alternative.
Finally, there's the obvious correlation between high-stress occupations and suicide...
Weren't we all supposed to be enjoying 5 months of vacation by now.
Most people who post on Slashdot probably can, as long as you're willing to accept a lower income than you would if you worked full time. I did for several years. I made enough to live comfortably, but not extravagantly, and had a very high quality of living. I'm now 'working' full time back in academia, because now I get paid to work on things I was doing as a hobby before. The standard of living for someone with the same inflation-adjusted income as me now is far higher than when my parents were my age.
by that measure the advancement of robotics probably won't benefit human lifestyle either
Really? I suggest that you try living in a house that contains no technology developed in the last 100 years for a while if you honestly think that...
This is a problem that has hit a number of slave-owning societies and is currently a problem for China. An imbalance between production and consumption is unsustainable, irrespective of the direction. It was also one of the causes of the US civil war: the south was production-heavy, which was making it hard for workers in the north to compete with cheap imports, which the south needed to keep supplying because they didn't have a large enough local consumer base.
$99 is not much if for a piece of software that you use as an important part of your job. $99 is a lot for a thing that you use occasionally at home. The problem is that since discontinuing MS Works, Microsoft doesn't really have a product for people in the latter category. They'll end up using Google Docs, Open/LibreOffice or some other competitor's product and then one of the big advantages of MS Office - that everyone uses it and so training costs are low - is reduced.
I'm curious: how much do you think that someone who runs the internet should be paid?
Someone who runs the Internet? A hell of a lot! And there should be multiple redundant copies of him!
The head of ICANN? Much less.
Run it perfectly? No. Run it better than it has been run for the last few years? I can think of about 100 people off the top of my head that could do that...
There are disadvantages both ways. In the UK, for example, the party in power has to call an election within five years of the last one, but after four years they start watching the polls very closely and call the election when they think they are likely to win. Sometimes they'll even do sooner if they're a lot more popular than at the election.
Other countries have the ability to pass a vote of no confidence but default to fixed terms. In these, it's relatively common (depending on the country) for a party with a majority to intentionally lose a confidence vote (i.e. members all vote no confidence in themselves) to cause an election when they are popular.
Ideally, I think, the elections should happen at unpredictable times. Set up a lottery machine with 200 balls, one of which says 'election in 6 weeks' and then spin it every week and hold an election if that ball pops out, or hold one if some percentage of the population requests one.
Yes, and it's not a huge amount. Election campaigning, on the other hand, seems to take about $10 per voter and a lot of time in the USA. Fortunately, your presidential electoral system could survive even the loss of most of the national communication infrastructure, as each state only needs to elect some people to go and choose the president...