So you mandate requirements that a general purpose os cannot satisfy...
You should always have minimal systems anyway, especially on critical machines, and its difficult if not impossible to strip windows down without breaking it... Things like the browser and media player that come by default, unnecessary libraries like directx etc (mostly for gaming),
Also that full fledged linux distro has a single update mechanism for all of the applications... If you install equivalent apps on a windows system chances are they will need their own separate update mechanisms, or not have an update system at all, which massively increases the chance of unpatched apps being present.
Well, i usually use serial consoles instead of a KVM...
A basic KVM is cheap, but IP based ones are pricey.. Serial consoles are cheap and you can still access them without having to go and stand in the server room. Plus an IP based KVM uses a lot of bandwidth to transfer screendumps over the network, making it rather useless on a slow link.... Serial is much better in this regard.
What you're really advocating is ghettos... Densely populated areas for the poor to live in, while the rich can live peacefully in rural areas without being disturbed by the lower classes.
Cities are already overcrowded, and the public transport available in them is so crowded that it would be illegal to transport animals in such conditions.
They are also extremely inefficient, workplaces will be in one area, while residential will be elsewhere, and everyone is expected to go to work at the same time... The end result is that you have hugely overcrowded trains travelling in one direction at certain times of the day, while at the same time empty trains are travelling back in the opposite direction... Then later the same thing happens again, but in the opposite direction.
Merely making driving more expensive won't solve anything, it will just make the peak time trains even more crowded and uncomfortable.
The real solution is to spread out and reduce the amount of travel needed...
Build residential and business properties close together, and encourage those who work there to live nearby too...
Offer combined deliveries of goods... Build retail distributors close together, and schedule deliveries to various other residential areas regularly... Instead of each retailer sending their delivery trucks to individually, or individuals going shopping, have a single truck that serves an area maybe every 2-3 days, and delivers goods ordered online from a number of regional retailers.
Change working hours, stagger them throughout the day and night...
Encourage home working where practical to do so...
Reduce the need for people to travel, so that those who still have legitimate reasons to travel aren't punished unfairly either by high fuel prices or excessively crowded trains.
There are many reasons why people prefer cars and loathe trains... Some of which are inherent, some are down to individual implementations...
Many areas are NOT densely populated and in such areas trains are utterly impractical... A train carrying a very small number of passengers (or none at all) will produce far more CO2 per passenger than even the most inefficient of cars.
Also since you can't have rails and stations absolutely everywhere (even in densely populated areas) people will often need to take long indirect routes and will often need to travel to/from the stations. There are also often long waits as you change from one train to another.
Some people get travel sick when a passenger in any vehicle, most of these people don't get sick when in control of the vehicle in question. I would not want to arrive at my destination feeling sick...
Many trains are not air conditioned and are extremely poorly ventilated, this makes people arrive sweaty and smelly.
Trains usually don't run all night, and become far less frequent outside of peak times.
You quite often encounter unpleasant people on trains, people who smell, or are rude and aggressive...
You can't take as much luggage with you etc...
By making driving more expensive you are just punishing the poor and making them suffer (and effectively ghettoising them since they will have to move into small densely populated areas where its economically viable to run frequent public transport), while giving the rich nice empty roads they can speed round in their high end cars.
Extensions like web developer and firebug are extremely useful for me, but most people have no use for them...
Foxyproxy also saves me a lot of time since i frequently have to switch between multiple sets of proxy settings on my laptop, most people never need to change their proxy settings.
Your needs must be extremely simplistic if a basic lightweight browser would suit your needs.
Well, then that's a bug in vista rather than a problem with ipv6 itself... If vista machines included a rogue dhcp server that was enabled by default and started handing out addresses in an ipv4 subnet that didn't route anywhere, would you blame ipv4?
Not just announcing, you actually need to route the traffic... Make it a requirement that in order to register/renew an AS number or v4 space, you must provide v6 alongside v4 on an equal footing to any customer... The next step would be convincing the customers to actually use it, perhaps phase in the same requirement for domain renewals at a later date.
Some people have multi homed networks, but dont provide services to others and getting ipv6 enabled transit can be quite difficult since many providers simply don't offer it.
IPv6 renders nat pointless, it does not render the idea of a firewall pointless. Configure a v6 firewall to allow outbound connections, and inbound traffic which belongs to an established connection and to drop any unsolicited inbound traffic (a fairly simple config)... Now you have the equivalent setup to nat, nat simply assumes this state because it doesn't know which of the internal systems to send unsolicited traffic to. I imagine when consumer grade ipv6 routers become available they will ship with this configuration by default.
I don't see how anonymity is lost, wether the traffic comes from your single ipv4 address or the million ipv6 addresses you have its still coming from an address allocated to you by your service provider...
As for seeing how many devices, sure by default they will see each device on a unique ip but theres nothing saying you have to use the autoconfig, or that you have to use a single static address per device... Most ipv6 allocations are a/64 or/48 to an end user, so you could easily take random addresses within your range, the isp will have no idea if its a single box using multiple addresses, a single box constantly changing address or thousands of individual boxes.
That cruft and bloatware has to do with the basic design being poor... Windows 95 was so bad they had to ditch it and go to NT which while it offers some level of compatibility, is fundamentally different and can only achieve this compatibility in a rather crufty way...
Solaris on the other hand has kept the same basic design, and even the change from sunos 4.x to solaris (sunos 5.x) wasn't a huge one since both were still basically unix.
This is why windows often has multiple apis for doing basically the same thing, the original version was fundamentally flawed and couldn't be fixed, so it was replaced yet the old one remains because old apps still use it. Unix was better designed from the start so the apis can generally be extended or added to rather than replaced and duplicated.
Don't know about mysql, but postgres has an "inet" row type which is intended for storing network addresses, it supports ipv6 as well as v4 and even has a bunch of functions built in for calculating netmasks... I have a php app which deals with port scan results and talks to a postgres backend and it makes heavy use of these functions.
It does seem as if the functions are a little more limited when it comes to v6, but you can store addresses just fine:
Those PCs will sit there looking for an ipv6 router, effectively the same as an ipv4 client looking for a dhcp server... If there is nothing there to answer the request, they will keep sending it but never acquire an address and therefore never try to use the protocol in question.
The only time you would ever have a problem is if someone installs a device that answers those requests with invalid responses (eg it advertises an ipv6 route that doesn't go anywhere, which clients then try to use and have to wait while it times out)... The exact same problem could occur if you install a rogue ipv4 dhcp server.
If your clients only know about ipv4 then they won't be able to access any ipv6 services except via a proxy (you cant nat from v4 to v6 but you can go the other way round). its quite possible to use ipv6 internally, with a gateway that provides a nat-pt service that effectively works just like ipv4 nat, except that the internal addresses are ipv6.
As a network engineer, you really should already know all of this, although you're already several steps ahead of most of the network engineers i know who don't even realise ipv6 exists.
When it comes to uses, a lack of conflicting addresses is the biggest use, a lot of small company or individual networks are interconnected via vpn links and MANY use the same ipv4 address ranges, ranges such as 10.0.0.0/24 or 192.168.0.0/24 are popular... it's not uncommon that people have been forced to renumber their home networks because they conflict with the work vpn for instance, and i know companies who have vpn links to other organisations and all kinds of extremely complex nat rules to get around duplicate use of the same internal addresses. V6 solves this by ensuring that everything has its own globally unique address... It's also a common misconception that v6 addresses are more open than nat, yes they *can* be openly routable but typically you would configure your internal addresses with a statefull filter to not permit inbound connections and only permit data which is part of already established outbound connections - effectively the same as ipv4 nat but without the extra complexity.
I don't think ubuntu would use v6 by default unless it actually had a v6 connection... I have ubuntu boxes at home and at work, at home i have a v6 router with a valid v6 link running a route advertisement service and the ubuntu box will pick up an address from it and use it... At work, there is no route advertisement service so ubuntu boxes never pick up a v6 address or route (neither do macs for that matter)...
The only place i can imagine it being slow in the way you describe, is if it picks up an address but doesn't have a valid route, which it would only do if there is a misconfigured ipv6 router present on the network.... I've had this happen at home if the v6 link drops but the v4 stays up (ip transit providers dont provide the same uptime guarantees for v6) and the system is not receiving network unreachable errors back...
If you have an internet reachable device, enable v6 on it, configure the same filtering rules as you do for v4... you've nothing to lose by doing so, perhaps nothing to gain either but the more people using v6 the more useful it will get.
All my websites and email servers are available via both v6 and v4, v6 accounts for maybe 2-3% of traffic but it used to account for much less a year ago...
My workstation has a v6 connection as well as a v4, and even my printer (a samsung model) is using v6, all my traffic to my own servers goes via v6 by default.
I also saw a windows 7 system earlier today, just a random user's laptop (was removing malware from it) and it had an ipv6 tunnel enabled on it, is this enabled by default?
The trouble is, a small lightweight browser isn't terribly useful for most people... Most people will need additional features, different people will need different features, and you can either build these features in (meaning bloat as there will be features there you never use and its unlikely the default set of features would suit every niche) or you make the base extensible so people can install the extensions they need.
To someone earning the amount he does, the typical pilfering of a sticky pad simply isn't worth the effort. It's also generally easier to get away with such things when you're higher up the ladder.
Depends where you work.. HP i'm sure has a lot more bandwidth than anyone does at home, and being high enough in the company Hurd probably has whatever their latest and highest end workstation is... On the other hand, he earned enough and was the CEO of a huge technology company so most likely he had a similar workstation at home plus all the bandwidth he'd need...
Other people who are lower down in such companies however, tend to have much older or lower end equipment...
And most companies that aren't huge like hp, or bandwidth related companies (eg isps) have fairly poor lines which are hugely over subscribed... It's not uncommon for several hundred employees to be sharing a 1.5mb link or similar. Some places i've worked at you'd be lucky to get 0.5mbit/sec download rates during the day, but after hours you can download at 50mbit easily.
Yes, the fragmented platform is the biggest problem...
You have abstraction layers (drivers etc) draining performance... Background processes and a full blown underlying OS draining performance...
On a console (and earlier computers like the c64 or amiga) there is none of this, you can directly program the hardware, have 100% of the system resources dedicated to your game and you know exactly what hardware will be present so no need to provide multiple detail options etc. Plus you have a single system to test against, not thousands of possible configurations.
Compare games on the original xbox to an equivalent pc (geforce 3, 64mb ram, 700mhz p3) running the same games.
It's hardware as a whole that has reached a useful plateau... For quite some time we've had increasingly inefficient software forcing the purchase of increasingly powerful hardware but it's starting to level out. You reach a point where hardware from a few years ago is more than adequate.
Now you can expect hardware to become increasingly unreliable so that it fails more quickly, thus forcing you to replace it anyway. A lot of other products do that these days, often failing just outside of their warranty period while much older examples are still working fine.
Native APIs are not native across different platforms, so the browser offers a standardised abstraction layer on top of that..
Performance hasn't been terribly important for years, and developers are already coding in high level languages which have multiple performance killing abstraction layers between the user and the hardware. Even those native APIs you talk about have over those decades been getting slower and slower...
So long as it's documented and optional i don't see why anyone should have a problem with this... The install process should explain this, give the option to turn it off, and display to the user the exact information that would be sent.
Counting length of install seems quite useful, especially if they could determine why someone deleted their install after a short time... Also it could be useful to take a hardware inventory, to determine what hardware people are using - this might also correlate with short install times if people find their hardware doesn't work properly.
I thought it might be interesting to get a whole bunch of small ARM boards (eg the sheevaplug motherboard or similar), and mount loads of them inside a single case with a single power supply... I believe they use a 5V power supply, so a standard psu should be able to drive lots of them.
So you mandate requirements that a general purpose os cannot satisfy...
You should always have minimal systems anyway, especially on critical machines, and its difficult if not impossible to strip windows down without breaking it... Things like the browser and media player that come by default, unnecessary libraries like directx etc (mostly for gaming),
This technology sounds quite useful if you assume "unauthorised use" to mean "use of the phone by someone who has stolen it"...
After all, at least in the US jailbreaking is explicitly legal, so spying on a jailbreaker could in itself be an illegal act.
Also that full fledged linux distro has a single update mechanism for all of the applications... If you install equivalent apps on a windows system chances are they will need their own separate update mechanisms, or not have an update system at all, which massively increases the chance of unpatched apps being present.
Well, i usually use serial consoles instead of a KVM...
A basic KVM is cheap, but IP based ones are pricey.. Serial consoles are cheap and you can still access them without having to go and stand in the server room.
Plus an IP based KVM uses a lot of bandwidth to transfer screendumps over the network, making it rather useless on a slow link.... Serial is much better in this regard.
Apparently you need an X server to install and run some parts of Oracle...
What you're really advocating is ghettos...
Densely populated areas for the poor to live in, while the rich can live peacefully in rural areas without being disturbed by the lower classes.
Cities are already overcrowded, and the public transport available in them is so crowded that it would be illegal to transport animals in such conditions.
They are also extremely inefficient, workplaces will be in one area, while residential will be elsewhere, and everyone is expected to go to work at the same time... The end result is that you have hugely overcrowded trains travelling in one direction at certain times of the day, while at the same time empty trains are travelling back in the opposite direction... Then later the same thing happens again, but in the opposite direction.
Merely making driving more expensive won't solve anything, it will just make the peak time trains even more crowded and uncomfortable.
The real solution is to spread out and reduce the amount of travel needed...
Build residential and business properties close together, and encourage those who work there to live nearby too...
Offer combined deliveries of goods... Build retail distributors close together, and schedule deliveries to various other residential areas regularly... Instead of each retailer sending their delivery trucks to individually, or individuals going shopping, have a single truck that serves an area maybe every 2-3 days, and delivers goods ordered online from a number of regional retailers.
Change working hours, stagger them throughout the day and night...
Encourage home working where practical to do so...
Reduce the need for people to travel, so that those who still have legitimate reasons to travel aren't punished unfairly either by high fuel prices or excessively crowded trains.
There are many reasons why people prefer cars and loathe trains... Some of which are inherent, some are down to individual implementations...
Many areas are NOT densely populated and in such areas trains are utterly impractical... A train carrying a very small number of passengers (or none at all) will produce far more CO2 per passenger than even the most inefficient of cars.
Also since you can't have rails and stations absolutely everywhere (even in densely populated areas) people will often need to take long indirect routes and will often need to travel to/from the stations. There are also often long waits as you change from one train to another.
Some people get travel sick when a passenger in any vehicle, most of these people don't get sick when in control of the vehicle in question. I would not want to arrive at my destination feeling sick...
Many trains are not air conditioned and are extremely poorly ventilated, this makes people arrive sweaty and smelly.
Trains usually don't run all night, and become far less frequent outside of peak times.
You quite often encounter unpleasant people on trains, people who smell, or are rude and aggressive...
You can't take as much luggage with you etc...
By making driving more expensive you are just punishing the poor and making them suffer (and effectively ghettoising them since they will have to move into small densely populated areas where its economically viable to run frequent public transport), while giving the rich nice empty roads they can speed round in their high end cars.
To give one example...
Extensions like web developer and firebug are extremely useful for me, but most people have no use for them...
Foxyproxy also saves me a lot of time since i frequently have to switch between multiple sets of proxy settings on my laptop, most people never need to change their proxy settings.
Your needs must be extremely simplistic if a basic lightweight browser would suit your needs.
Well, then that's a bug in vista rather than a problem with ipv6 itself...
If vista machines included a rogue dhcp server that was enabled by default and started handing out addresses in an ipv4 subnet that didn't route anywhere, would you blame ipv4?
Not just announcing, you actually need to route the traffic...
Make it a requirement that in order to register/renew an AS number or v4 space, you must provide v6 alongside v4 on an equal footing to any customer... The next step would be convincing the customers to actually use it, perhaps phase in the same requirement for domain renewals at a later date.
Some people have multi homed networks, but dont provide services to others and getting ipv6 enabled transit can be quite difficult since many providers simply don't offer it.
IPv6 renders nat pointless, it does not render the idea of a firewall pointless. Configure a v6 firewall to allow outbound connections, and inbound traffic which belongs to an established connection and to drop any unsolicited inbound traffic (a fairly simple config)... Now you have the equivalent setup to nat, nat simply assumes this state because it doesn't know which of the internal systems to send unsolicited traffic to. I imagine when consumer grade ipv6 routers become available they will ship with this configuration by default.
I don't see how anonymity is lost, wether the traffic comes from your single ipv4 address or the million ipv6 addresses you have its still coming from an address allocated to you by your service provider...
As for seeing how many devices, sure by default they will see each device on a unique ip but theres nothing saying you have to use the autoconfig, or that you have to use a single static address per device... Most ipv6 allocations are a /64 or /48 to an end user, so you could easily take random addresses within your range, the isp will have no idea if its a single box using multiple addresses, a single box constantly changing address or thousands of individual boxes.
That cruft and bloatware has to do with the basic design being poor... Windows 95 was so bad they had to ditch it and go to NT which while it offers some level of compatibility, is fundamentally different and can only achieve this compatibility in a rather crufty way...
Solaris on the other hand has kept the same basic design, and even the change from sunos 4.x to solaris (sunos 5.x) wasn't a huge one since both were still basically unix.
This is why windows often has multiple apis for doing basically the same thing, the original version was fundamentally flawed and couldn't be fixed, so it was replaced yet the old one remains because old apps still use it. Unix was better designed from the start so the apis can generally be extended or added to rather than replaced and duplicated.
Don't know about mysql, but postgres has an "inet" row type which is intended for storing network addresses, it supports ipv6 as well as v4 and even has a bunch of functions built in for calculating netmasks... I have a php app which deals with port scan results and talks to a postgres backend and it makes heavy use of these functions.
It does seem as if the functions are a little more limited when it comes to v6, but you can store addresses just fine:
http://www.postgresql.org/docs/8.2/static/functions-net.html
Those PCs will sit there looking for an ipv6 router, effectively the same as an ipv4 client looking for a dhcp server... If there is nothing there to answer the request, they will keep sending it but never acquire an address and therefore never try to use the protocol in question.
The only time you would ever have a problem is if someone installs a device that answers those requests with invalid responses (eg it advertises an ipv6 route that doesn't go anywhere, which clients then try to use and have to wait while it times out)... The exact same problem could occur if you install a rogue ipv4 dhcp server.
If your clients only know about ipv4 then they won't be able to access any ipv6 services except via a proxy (you cant nat from v4 to v6 but you can go the other way round). its quite possible to use ipv6 internally, with a gateway that provides a nat-pt service that effectively works just like ipv4 nat, except that the internal addresses are ipv6.
As a network engineer, you really should already know all of this, although you're already several steps ahead of most of the network engineers i know who don't even realise ipv6 exists.
When it comes to uses, a lack of conflicting addresses is the biggest use, a lot of small company or individual networks are interconnected via vpn links and MANY use the same ipv4 address ranges, ranges such as 10.0.0.0/24 or 192.168.0.0/24 are popular... it's not uncommon that people have been forced to renumber their home networks because they conflict with the work vpn for instance, and i know companies who have vpn links to other organisations and all kinds of extremely complex nat rules to get around duplicate use of the same internal addresses. V6 solves this by ensuring that everything has its own globally unique address...
It's also a common misconception that v6 addresses are more open than nat, yes they *can* be openly routable but typically you would configure your internal addresses with a statefull filter to not permit inbound connections and only permit data which is part of already established outbound connections - effectively the same as ipv4 nat but without the extra complexity.
I don't think ubuntu would use v6 by default unless it actually had a v6 connection...
I have ubuntu boxes at home and at work, at home i have a v6 router with a valid v6 link running a route advertisement service and the ubuntu box will pick up an address from it and use it...
At work, there is no route advertisement service so ubuntu boxes never pick up a v6 address or route (neither do macs for that matter)...
The only place i can imagine it being slow in the way you describe, is if it picks up an address but doesn't have a valid route, which it would only do if there is a misconfigured ipv6 router present on the network.... I've had this happen at home if the v6 link drops but the v4 stays up (ip transit providers dont provide the same uptime guarantees for v6) and the system is not receiving network unreachable errors back...
If you have an internet reachable device, enable v6 on it, configure the same filtering rules as you do for v4... you've nothing to lose by doing so, perhaps nothing to gain either but the more people using v6 the more useful it will get.
All my websites and email servers are available via both v6 and v4, v6 accounts for maybe 2-3% of traffic but it used to account for much less a year ago...
My workstation has a v6 connection as well as a v4, and even my printer (a samsung model) is using v6, all my traffic to my own servers goes via v6 by default.
I also saw a windows 7 system earlier today, just a random user's laptop (was removing malware from it) and it had an ipv6 tunnel enabled on it, is this enabled by default?
The trouble is, a small lightweight browser isn't terribly useful for most people...
Most people will need additional features, different people will need different features, and you can either build these features in (meaning bloat as there will be features there you never use and its unlikely the default set of features would suit every niche) or you make the base extensible so people can install the extensions they need.
To someone earning the amount he does, the typical pilfering of a sticky pad simply isn't worth the effort. It's also generally easier to get away with such things when you're higher up the ladder.
Depends where you work.. HP i'm sure has a lot more bandwidth than anyone does at home, and being high enough in the company Hurd probably has whatever their latest and highest end workstation is... On the other hand, he earned enough and was the CEO of a huge technology company so most likely he had a similar workstation at home plus all the bandwidth he'd need...
Other people who are lower down in such companies however, tend to have much older or lower end equipment...
And most companies that aren't huge like hp, or bandwidth related companies (eg isps) have fairly poor lines which are hugely over subscribed... It's not uncommon for several hundred employees to be sharing a 1.5mb link or similar. Some places i've worked at you'd be lucky to get 0.5mbit/sec download rates during the day, but after hours you can download at 50mbit easily.
Yes, the fragmented platform is the biggest problem...
You have abstraction layers (drivers etc) draining performance...
Background processes and a full blown underlying OS draining performance...
On a console (and earlier computers like the c64 or amiga) there is none of this, you can directly program the hardware, have 100% of the system resources dedicated to your game and you know exactly what hardware will be present so no need to provide multiple detail options etc. Plus you have a single system to test against, not thousands of possible configurations.
Compare games on the original xbox to an equivalent pc (geforce 3, 64mb ram, 700mhz p3) running the same games.
It's hardware as a whole that has reached a useful plateau... For quite some time we've had increasingly inefficient software forcing the purchase of increasingly powerful hardware but it's starting to level out. You reach a point where hardware from a few years ago is more than adequate.
Now you can expect hardware to become increasingly unreliable so that it fails more quickly, thus forcing you to replace it anyway. A lot of other products do that these days, often failing just outside of their warranty period while much older examples are still working fine.
All well and good, unless your board can only support 1gb per module...
Native APIs are not native across different platforms, so the browser offers a standardised abstraction layer on top of that..
Performance hasn't been terribly important for years, and developers are already coding in high level languages which have multiple performance killing abstraction layers between the user and the hardware.
Even those native APIs you talk about have over those decades been getting slower and slower...
So long as it's documented and optional i don't see why anyone should have a problem with this... The install process should explain this, give the option to turn it off, and display to the user the exact information that would be sent.
Counting length of install seems quite useful, especially if they could determine why someone deleted their install after a short time...
Also it could be useful to take a hardware inventory, to determine what hardware people are using - this might also correlate with short install times if people find their hardware doesn't work properly.
I thought it might be interesting to get a whole bunch of small ARM boards (eg the sheevaplug motherboard or similar), and mount loads of them inside a single case with a single power supply... I believe they use a 5V power supply, so a standard psu should be able to drive lots of them.