"A degree teaches people how to think critically, boosts intelligence, confidence, ability to self-motivate, how to relate to peers, gives an appreciation of a much wider range of what life has to offer. etc. A university education makes a person better."
My uni did exactly that for me. I've learned to appreciate/love what I use to hate in primary/middle/high school.
"They are also accessible to the intelligent, thanks to scholarships."
I wish I could have gotten a scholarships or a grant. Most scholarships and grants required good GPAs/etc. I have a bad GPA but I am VERY good at what I do.
Scholarships and grants need to be fixed before you can start saying they can replace loans.
Natural monopolies tend to form any time you have large up front costs that take a long time to pay off. Once someone comes in and puts down the money, it's somewhere between hard and impossible to compete.
It's nearly impossible for a new ISP to get land rights to run lines. Even if they could afford the tens of millions to connect a small city, most local governments are doing to deny yet another company coming in and re-trenching lines.
There are only so many people who can have internet. For the first ISP to come in to a town, the tear up the roads/etc and lay lines. They may drop 100mil hooking up 50k people. A few years later another ISP looks at coming in. They to would have to drop 100mil and tear up the roads/etc, except the best they can get is maybe half of the population, so they're already at a distinct disadvantage, plus they will probably have to under-cut the competition to get people to switch.
The first ISP has already paid off some of their debt. So they see this new ISP coming into town and decide to drop prices to razor thin margins. The new ISP could at best break even and never pay off their debt, so they never come in.
Could you imagine competition with roads? Wouldn't you love to have 10 roads outside you house. Where would the houses go? Roads are already like 40' wide, now you want them 400' wide and some way to keep people from going into the wrong companies lanes? But hey, natural monopolies don't exist.
People describe the "Big Bang" starting as some massive black hole, exploding, and the energy moving out faster than light for a bit.
I know gravity causes space time to contract. So what if instead this massive black hole caused space time to be highly contracted. When the black hole exploded, there was no more mass as everything turned into energy. As the lack of gravity propagates out, the space time suddenly expands faster than light. The energy in different areas would seemingly move away from each other faster than light.
It is my understanding that nothing can move through space time faster than light, but I never heard anything about how fast space time can move relative to itself.
TCP is just a super-set of UDP. I don't see the problem. Implement your own protocol on top of UDP.
If TCP was message based, how would you handle messages that are larger or smaller than a packet's payload capacity? A smaller packet will have wasted space, so you're better of including "part" of the next packet. If it's a larger packet, you'll have to fragment the message across more than one packet.
Suddenly we're right back to not working with messages, but partial messages. Guess what's a great way to read partial messages?... STREAMS!
I would love to see programmers abuse a "message" based TCP protocol. I'm going to send this file across as a "message"... Yay, buffer an entire 10TB file into a message... How I love streams.
"I have to implement a scheme for setting up message sizes."
ROFL
Lets give a scenario where you want to send message like you're talking about. Say you send 1400 byte messages.
1) You send 1400 bytes 2) OS packages it up into a single packet and sends it out. 3) OS gets ICMP about fragmentation 4) OS splits up original message into two packets 5) Receiver gets two packets
Now, should your app see one message or two messages?.. I'm leaning towards 1. What does this mean? It means at the very basic network stack level, it will have to treat TCP/IP as a stream because it never knows how large the messages will be from packet to packet.
If you want to have a "message" based TCP, then implement your own libraries, but at the OS/Network level, packets are processed as a stream because you NEVER know how much data you will get from packet to packet.
From my perspective, most everything I do now days is working with streams. Treating TCP as messages would be more complicated for me than just doing everything as a stream. Almost any time I've moving data around, it's as a stream. The default of TCP as a stream just makes it really easy to plug into.
While processing "messages" is easier than a stream for any case where the message is small, what about a message that is larger than a packet? Suddenly you need a layer on top of IP again. So now you have message on message instead of stream on message.
In order to process message on top of message, you have to treat it as a stream. So instead of stream on top of message, you have message on top of stream on top of message.
Now if you wanted to have implement a stream interface, you will have stream on top of message on top of stream on top of message.
It's just easier to have stream on top of message and let the programmer decide who to process the data.
" especially when you're working on small disconnected networks with intermittent connectivity and doing lots of peer to peer traffic with embedded devices."
That's what static private IPs are for or just static public IPs for that matter.
fd::1 for one machine, fd::2 for another.. really, these address aren't that hard to remember or type.
For the most part, the first 64bits is for routing and the last 64bits is for identifying the local machine. This allows breaking up the work on a 64bit machine quite nicely.
"For some, rape and child molestation is intentionally about power. "
To go along with this, there has been some limited research on the subject, but with what they have been able to work with, castration statistically doesn't make a difference. Like you said, most of the sexual assault has little to nothing to do with sex.
"NAT decouples the internal private network from the external network - and I'm sure any IT admin who has had to renumber their internal network would agree it's a huge PITA on IPv4."
IPv6 makes it even easier. Also, Ever have to renumber your network because you merged with another corp? NATs won't help you there. IPv6 helps this also by having HUGE address spaces. Chance of a collision is crazy small.
"Even worse - home users, who most likely do NOT have a working DNS setup and have to type the damn things in. And just when my parents have gotten used to typing the long string of nonsense garbage to hit the printer, the ISP changes their prefix and they have to learn a new set of IPs."
I don't have DNS setup and I can ping my printer by name. There's like 3-4 protocols for resolving by name without DNS. I have some cheap $70 HP printer, Wireless N and I can configure the name w/o DNS. In other words, what you say is a problem, isn't. Your parents have old/cheap hardware. Even my DD-WRT box can pick-up the name of the printer w/o DNS.
"If we break the concept of true-end-to-end connectivity (already broken thanks to firewalls)"
ehhh? At least with Firewalls it's "optional" to block incoming SYN packets, while NAT kind of forces it, which makes it a PITA for configuring game port forwarding.
"NAT breaks that, so it's a nice secondary layer beyond the firewall at ensure they don't accidentally leave their customer database exposed"
There are so many ways around NATs, it's not even funny. Anyone who who thinks NATs add to security, usually don't know how to properly setup a firewall.
If you want your internal network secure, use a combination of VLANs and authenticated connections along with proper firewalls. Adding a NAT to a properly locked down network is like painting a tank and thinking the paint helps protect you. Technically it does, but probably not as much as you think.
A few of my best friends are admins in datacenters. They've been running IPv6 for a while because it is just so much easier than IPv4. When I asked them what they thought about IPv6, they unanimously said any network admin worth their salt will love IPv6(except the transition, which kind of sucks). Once you're switched over, it's easy mode for a lot of things that use to waste your time. Other than the minor learning curve and transitional work, it's one of the best things to happen to networking.
More stuff gets automated, more jobs lost, cost of living goes down because of automation, more jobs created.
When you look at history, only jobs were lost during transitions. Once the market fully adjusted to the new tech, more jobs were created. In the long run, tech seems to create more jobs than it destroys.
Outside of advertisement info, why is this "referrer" data important?
If this is somehow reducing my security, I can see a problem, but if it's just data to help websites know who their customers are, then why should I care?
Google provides a service. They give it free to the customer and if you want your website to have an advantage, then you pay a premium for access to Google's services.
To me this sounds more like a QQ, but I am interested to know if there's something I'm missing as I am not knowledgeable in this area.
I had 8 months of uptime on Win7 RTM before I finally rebooted to apply Windows Updates. I'm a heavy gamer. Best part is I didn't even have to reboot for video/sound driver updates. Vista/7 allow in-place updates for video/sound drivers for most types of updates.
BTW, memory leaks only affect that application. Once the application ends, all memory is released, even leaked memory. When an app allocated memory, it has to do so from the OS. So the OS knows every page of memory allocated and knows when a page gets deallocated. Being that all allocations and deallocations go through the OS, the OS knows which memory to free once an app closes.
Comparing Windows Search to Linux command line is like comparing Google search to Regular Expressions. One is easier to use and covers most cases quite well, while the other is more powerful.
Except now Windows allows EVERYTHING to be accessed via the command line also. Every config setting in Win8 can now be scripted. Finally.
When measuring how much faster *Windows* is at booting, you shouldn't include the BIOS times as they do not reflect Windows at all. MS showed a laptop booting in 4-5 seconds.. TOTAL. The graphics wasn't able to switch from low-res BIOS to high-res login in the time it took to boot Windows.
A car analogy. I'm going to measure your 1/4 mile times by including the time it took for you to drive from home to the track.
It spends a lot of its time doing transactions to make sure it can roll-back any changes in the case of failure. Also, being changes to system files, you have to serially modify/patch because you don't want to chance a race condition and fubar the system files.
The BUILD conference showed a laptop that booted and was usable within 4-5 seconds of pressing the power button. Not suspended.
BTW, in the Win8 boot sequence, the antivirus is loaded just after the driver and before any user apps, so a good portion of that 4-5 seconds included scanning.
Overall, I think that's a lot better than prior Windows OSs.
Many authentication protocols use GMT to time stamp the tokens as to reduce the chance of replay attacks.
If it's 11:00 your time and 1:00 someone else's time, you need to convert them into a standard time. GMT being that time. If GMT was copyrighted, and you couldn't use it, then many authentication protocols would break.
Effectively, timezone calculations would be outlawed.
The worst part about living longer is that there seems to be a a limit on how long one can reproduce. If I only have 2 kids, and I live until150, the chance of both dying increases a lot. I would hate to live until 150 knowing both of my kids died and I can't have any more of my own.
I would assume this would be a transitional thing and hopefully some break-through with reproduction.
"A degree teaches people how to think critically, boosts intelligence, confidence, ability to self-motivate, how to relate to peers, gives an appreciation of a much wider range of what life has to offer. etc. A university education makes a person better."
My uni did exactly that for me. I've learned to appreciate/love what I use to hate in primary/middle/high school.
"They are also accessible to the intelligent, thanks to scholarships."
I wish I could have gotten a scholarships or a grant. Most scholarships and grants required good GPAs/etc. I have a bad GPA but I am VERY good at what I do.
Scholarships and grants need to be fixed before you can start saying they can replace loans.
That would break Win7 and WinPE boot discs.
Natural monopolies tend to form any time you have large up front costs that take a long time to pay off. Once someone comes in and puts down the money, it's somewhere between hard and impossible to compete.
It's nearly impossible for a new ISP to get land rights to run lines. Even if they could afford the tens of millions to connect a small city, most local governments are doing to deny yet another company coming in and re-trenching lines.
There are only so many people who can have internet. For the first ISP to come in to a town, the tear up the roads/etc and lay lines. They may drop 100mil hooking up 50k people. A few years later another ISP looks at coming in. They to would have to drop 100mil and tear up the roads/etc, except the best they can get is maybe half of the population, so they're already at a distinct disadvantage, plus they will probably have to under-cut the competition to get people to switch.
The first ISP has already paid off some of their debt. So they see this new ISP coming into town and decide to drop prices to razor thin margins. The new ISP could at best break even and never pay off their debt, so they never come in.
Could you imagine competition with roads? Wouldn't you love to have 10 roads outside you house. Where would the houses go? Roads are already like 40' wide, now you want them 400' wide and some way to keep people from going into the wrong companies lanes? But hey, natural monopolies don't exist.
People describe the "Big Bang" starting as some massive black hole, exploding, and the energy moving out faster than light for a bit.
I know gravity causes space time to contract. So what if instead this massive black hole caused space time to be highly contracted. When the black hole exploded, there was no more mass as everything turned into energy. As the lack of gravity propagates out, the space time suddenly expands faster than light. The energy in different areas would seemingly move away from each other faster than light.
It is my understanding that nothing can move through space time faster than light, but I never heard anything about how fast space time can move relative to itself.
Just a thought that's been bothering me.
You should've asked him what he would've done once he ran out of IPs. It'll cost more to do ISP level NAT than upgrading to IPv6.
Either way he's going to have to pay money, but the "proper way" (IPv6) will be cheaper in both the short and long run.
TCP is just a super-set of UDP. I don't see the problem. Implement your own protocol on top of UDP.
If TCP was message based, how would you handle messages that are larger or smaller than a packet's payload capacity? A smaller packet will have wasted space, so you're better of including "part" of the next packet. If it's a larger packet, you'll have to fragment the message across more than one packet.
Suddenly we're right back to not working with messages, but partial messages. Guess what's a great way to read partial messages?... STREAMS!
I would love to see programmers abuse a "message" based TCP protocol. I'm going to send this file across as a "message"... Yay, buffer an entire 10TB file into a message... How I love streams.
"I have to implement a scheme for setting up message sizes."
ROFL
Lets give a scenario where you want to send message like you're talking about. Say you send 1400 byte messages.
1) You send 1400 bytes
2) OS packages it up into a single packet and sends it out.
3) OS gets ICMP about fragmentation
4) OS splits up original message into two packets
5) Receiver gets two packets
Now, should your app see one message or two messages?.. I'm leaning towards 1. What does this mean? It means at the very basic network stack level, it will have to treat TCP/IP as a stream because it never knows how large the messages will be from packet to packet.
If you want to have a "message" based TCP, then implement your own libraries, but at the OS/Network level, packets are processed as a stream because you NEVER know how much data you will get from packet to packet.
From my perspective, most everything I do now days is working with streams. Treating TCP as messages would be more complicated for me than just doing everything as a stream. Almost any time I've moving data around, it's as a stream. The default of TCP as a stream just makes it really easy to plug into.
While processing "messages" is easier than a stream for any case where the message is small, what about a message that is larger than a packet? Suddenly you need a layer on top of IP again. So now you have message on message instead of stream on message.
In order to process message on top of message, you have to treat it as a stream. So instead of stream on top of message, you have message on top of stream on top of message.
Now if you wanted to have implement a stream interface, you will have stream on top of message on top of stream on top of message.
It's just easier to have stream on top of message and let the programmer decide who to process the data.
" especially when you're working on small disconnected networks with intermittent connectivity and doing lots of peer to peer traffic with embedded devices."
That's what static private IPs are for or just static public IPs for that matter.
fd::1 for one machine, fd::2 for another.. really, these address aren't that hard to remember or type.
For the most part, the first 64bits is for routing and the last 64bits is for identifying the local machine. This allows breaking up the work on a 64bit machine quite nicely.
"For some, rape and child molestation is intentionally about power. "
To go along with this, there has been some limited research on the subject, but with what they have been able to work with, castration statistically doesn't make a difference. Like you said, most of the sexual assault has little to nothing to do with sex.
I'm a US citizen. I have never used Metric outside of math...... I WANT METRIC!
"NAT decouples the internal private network from the external network - and I'm sure any IT admin who has had to renumber their internal network would agree it's a huge PITA on IPv4."
IPv6 makes it even easier. Also, Ever have to renumber your network because you merged with another corp? NATs won't help you there. IPv6 helps this also by having HUGE address spaces. Chance of a collision is crazy small.
"Even worse - home users, who most likely do NOT have a working DNS setup and have to type the damn things in. And just when my parents have gotten used to typing the long string of nonsense garbage to hit the printer, the ISP changes their prefix and they have to learn a new set of IPs."
I don't have DNS setup and I can ping my printer by name. There's like 3-4 protocols for resolving by name without DNS. I have some cheap $70 HP printer, Wireless N and I can configure the name w/o DNS. In other words, what you say is a problem, isn't. Your parents have old/cheap hardware. Even my DD-WRT box can pick-up the name of the printer w/o DNS.
"If we break the concept of true-end-to-end connectivity (already broken thanks to firewalls)"
ehhh? At least with Firewalls it's "optional" to block incoming SYN packets, while NAT kind of forces it, which makes it a PITA for configuring game port forwarding.
"NAT breaks that, so it's a nice secondary layer beyond the firewall at ensure they don't accidentally leave their customer database exposed"
There are so many ways around NATs, it's not even funny. Anyone who who thinks NATs add to security, usually don't know how to properly setup a firewall.
If you want your internal network secure, use a combination of VLANs and authenticated connections along with proper firewalls. Adding a NAT to a properly locked down network is like painting a tank and thinking the paint helps protect you. Technically it does, but probably not as much as you think.
A few of my best friends are admins in datacenters. They've been running IPv6 for a while because it is just so much easier than IPv4. When I asked them what they thought about IPv6, they unanimously said any network admin worth their salt will love IPv6(except the transition, which kind of sucks). Once you're switched over, it's easy mode for a lot of things that use to waste your time. Other than the minor learning curve and transitional work, it's one of the best things to happen to networking.
More stuff gets automated, more jobs lost, cost of living goes down because of automation, more jobs created.
When you look at history, only jobs were lost during transitions. Once the market fully adjusted to the new tech, more jobs were created. In the long run, tech seems to create more jobs than it destroys.
Outside of advertisement info, why is this "referrer" data important?
If this is somehow reducing my security, I can see a problem, but if it's just data to help websites know who their customers are, then why should I care?
Google provides a service. They give it free to the customer and if you want your website to have an advantage, then you pay a premium for access to Google's services.
To me this sounds more like a QQ, but I am interested to know if there's something I'm missing as I am not knowledgeable in this area.
I had 8 months of uptime on Win7 RTM before I finally rebooted to apply Windows Updates. I'm a heavy gamer. Best part is I didn't even have to reboot for video/sound driver updates. Vista/7 allow in-place updates for video/sound drivers for most types of updates.
BTW, memory leaks only affect that application. Once the application ends, all memory is released, even leaked memory. When an app allocated memory, it has to do so from the OS. So the OS knows every page of memory allocated and knows when a page gets deallocated. Being that all allocations and deallocations go through the OS, the OS knows which memory to free once an app closes.
Comparing Windows Search to Linux command line is like comparing Google search to Regular Expressions. One is easier to use and covers most cases quite well, while the other is more powerful.
Except now Windows allows EVERYTHING to be accessed via the command line also. Every config setting in Win8 can now be scripted. Finally.
When measuring how much faster *Windows* is at booting, you shouldn't include the BIOS times as they do not reflect Windows at all. MS showed a laptop booting in 4-5 seconds.. TOTAL. The graphics wasn't able to switch from low-res BIOS to high-res login in the time it took to boot Windows.
A car analogy. I'm going to measure your 1/4 mile times by including the time it took for you to drive from home to the track.
It spends a lot of its time doing transactions to make sure it can roll-back any changes in the case of failure. Also, being changes to system files, you have to serially modify/patch because you don't want to chance a race condition and fubar the system files.
Just a minor fix:
"though it only hibernates the kernel and essential services"
Actually, it only hibernates the kernel. No user level memory is hibernated with the default shutdown.
The BUILD conference showed a laptop that booted and was usable within 4-5 seconds of pressing the power button. Not suspended.
BTW, in the Win8 boot sequence, the antivirus is loaded just after the driver and before any user apps, so a good portion of that 4-5 seconds included scanning.
Overall, I think that's a lot better than prior Windows OSs.
Actually, they shouldn't be including the BIOS time into the boot time because that has nothing to do with the OS.
It should read more like
Benchmark Windows 7 Windows 8 Percent improvement
Startup time (min:sec) 1:17 0:17 +78
78% improvement
Many authentication protocols use GMT to time stamp the tokens as to reduce the chance of replay attacks.
If it's 11:00 your time and 1:00 someone else's time, you need to convert them into a standard time. GMT being that time. If GMT was copyrighted, and you couldn't use it, then many authentication protocols would break.
Effectively, timezone calculations would be outlawed.
The worst part about living longer is that there seems to be a a limit on how long one can reproduce. If I only have 2 kids, and I live until150, the chance of both dying increases a lot. I would hate to live until 150 knowing both of my kids died and I can't have any more of my own.
I would assume this would be a transitional thing and hopefully some break-through with reproduction.