Uhm I'm sorry but the way multi-tasking works on a PC makes your idea of latency irrelevant 99% of most cases.
Please explain to me how multi-tasking makes latency a non-issue. Because on my computer, the OS is designed to schedule "well enough" but cannot schedule processes perfectly. And there's non-zero cost to process migration. And there are many global effects : shared cache, shared buses, shared global locks on devices. All of this means that some PoS application running in the background can hurt a game. How much of a difference does it make? Well that depends on the hardware someone has access to. High-end PCs will be able to eat the jitter without causing noticeable impact, but older machines may not fare so well. So please, don't tell me that latency "doesn't matter". It always matters. Consoles are designed much closer to realtime systems than consumer PCs, so they can guarantee lower jitter for the same price.
For latency-sensitive applications, yes. It doesn't matter if the overall CPU usage is 1%, if all of that 1% happens at very inconvenient points of time. It's also problematic if the other processes on your desktop are thrashing your memory hierarchy—that's much easier to control on an appliance-like device.
Sorry, the "correct" use of the phrase "begs the question" is one of my pet peeves, because it makes no logical sense.
The incorrect use of that phrase by people who should know better is what bothers me. The phrase has a very specific and useful purpose in communication about logic and proofs. We shouldn't lose that meaning just because it don't sound good. I expect the rest of the population will continue to use "beg" to mean "ask" or "raise" in the same way other words and phrases evolve, but that doesn't prevent the preservation of its correct use in the appropriate forums.
Can you tell me which large city has so many cops that they can respond quicker than that?
I have seen much quicker response times from Chicago PD on several occasions, none with gunshots involved. I'm sure that their response time varies with neighborhood, though. More patrols around more dangerous neighborhoods => faster response times across the board, nearby.
It's a bad plan if it makes the copy take longer. What is needed is more advanced filesystems that make this kind of query simpler.
Oh, I'd take the advanced filesystem over the measurement I described any day. But given that they don't seem to exist yet, what I described is a realistic compromise between minimizing the total latency of the operation, and providing a responsive "user experience" to the person who is waiting for completion. You can even tune the rate of the stat-thread to your own liking.
28% of what? Total number of files? Total amount of data?
Data, of course. Files can vary in size. Bits are bits. Blocks are blocks, at least per filesystem. To take a pathological case, a single 16TB file-copy should not have a single step from 0% to 100%.
Also, the computer does this so called "simple extrapolation" to determine how much time is remaining and it gets it wildly wrong so why do you think you'd be any better?
I know external context which my computer does not. Family member turned on Netflix and the connection just slowed down? I can probably guess the reason. In fact, from my computer's perspective, I am practically clairvoyant. I know that my bandwidth will go down, because I am about to walk into another room which is farther away from the router. I also know that disk is going to slow down because I am about to open iTunes. And I know that my ISP does traffic-shaping which bursts the beginning of HTTP responses to optimize WWW browsing patterns.
I am also a much better pattern-matching engine than my computer. I remember the last few file similar file copies which occurred. I can see when the progress bar speeds up or slows down, and if it happens repeatedly maybe there is a pattern. My ancestors had to extrapolate constantly in order to survive. My computer file-copy dialog? Well, it's very good at measuring past transfer rates and doing fast calculations, but it's comparitively very dumb. Why wouldn't you expect a human to do a better job of extrapolation?
The difference is, with a gas car, once a week. With an all electric, every day.
Well hey, that makes the electric car pretty similar to my laptop, my phone, my coffee maker, my lunch box, my underwear, my teeth, and everything else that seems to be fine when cared for on a daily basis. What was the problem again?
For, eg, HTTP downloads, it's easy to make a progress bar. It sends a Content-Length and every byte received is accounted for. But other problems, like disk IO, are harder, but not intractable.
Actually, estimating an HTTP download is very similar to estimating a single-file copy. For the HTTP download, you have no information at all while you wait for the round-trip latency of the header. Once you have the header, you know exactly how large the file is, but you still don't know the network bandwidth. That's ok, because you can measure progress by bytes transferred.
For the file copy, you have no information at all while you wait for the stat call to complete. Once you have that, you know exactly how large the file is, but you still don't know the disk bandwidth. That's ok, because you can measure progress by bytes (or blocks) transferred.
Take file copying for a canonical example. The most reasonable unit of measurement in that case would be the number of bytes copied.
Recursive copy is a good example of a task whose cost is not known up-front. Two things to know: total size of sources, total size copied.
However, to properly compute relative progress for that, you need to find out the total size of all files before starting the copy.
No way, d00d. You can calculate the total size in a background thread which just goes through stating everything alongside the actual copies. Sure, it'll compete with the copy commands for disk access, but it won't add latency to the start of the copy.
You can still run into interesting corner cases - e.g. what happens if the size of some file changes on the disk after you computed it originally, but before you got a chance to copy it?
Store the pre-calculated size of every file. If a file ends up larger, then use that size instead. Max Bytes grows and Percent Complete migiht shrink. Whoop-de-doo. If this happens, a user will notice and say, "huh, that's weird" and maybe write a snotty blog post about it. But the world will move on, and most people in most situations will see that the progress bar is good, because it is reasonably consistent, it doesn't lie, and it doesn't visibly delay the task at hand.
And also, haven't you seen a progress dialog go from "30 seconds remaining" to "2 hours remaining"? Dynamic recalculation sometimes doesn't help and just makes the problem appear worse.
This is a problem with the developers of the progress bar (and their managers). "2 hours remaining" isn't a progress report. "28% complete" is a progress report. It's more accurate, it never goes backwards, and it splits the workload more effectively: the computer can calculate how much it has done, and the human can do some simple extrapolation to guess how long it will take, in a human time scale. That's not "20 minutes" or "2 hours", that's "quick enough to sit and watch the progress bar", or "enough time to take a leak / make some coffee", or "time to check my email / facebook". "2 hours remaining... no wait, 5 seconds remaining... no wait, it'll never finish!" is bullshit coming out of the program, and we all know it. So just cut the bullshit and let the progress bars indicate progress.
Would you over-ride the O/S to transfer that 10gigs in 100 meg blocks and report each bit back to your high level UI so that th progress bar is accurate?
If the transfer is going to take more than a few hundred milliseconds, yes. The extra latency due to such "interruptbs" is small enough to justify the improvement in responsiveness.
The Ozone layer itself is a red herring, since technically it is not a protection from, but the result of the interaction between solar UV radiation and dioxygen molecules in the upper atmosphere. Ozone is an unstable compound, which disappears naturally in the absence of incoming solar UV.
I am not a particle physicist, but your explanation of the ozone layer sounds like a "canary in a coal mine" and not a red herring. If the energy from UV radiation is transferred to oxygen high in the atmosphere, that means that less of that energy is hitting the surface of our planet. If the O_3 content drops, that probably implies some combination of reduced UV energy input and reduced energy absorption. The former is fine, but the latter means more high-energy particles will reach habitable altitudes.
I may be reading too much Carl Sagan, but I wouldn't expect technology to make an individual smarter. I would merely expect it to increase the aggregate memory of the species, making the species smarter as a whole.
it's surprisingly easy for an employee at a PCI compliant company to steal your number.
Yeah, after thinking about the possible set of all credit card numbers, I'm not surprised that encryption creates a very low barrier. However, I would not want to be the guy who decided to eschew encryption. If a breach occurs, plaintext CC#'s sound more like negligence than pragmatism (and a little bit of fatalism) to the judicial system and the lawyery types.
American Express cards were marketed as carrying prestige -- if you had one, you didn't *need* a loan
They still carry that prestige. I got a Zync card recently, which is the new bottom tier for their pay-in-full cards ($75 annual fee, benefits that more than make up for the fee given my spending profile). A lot of co-workers were surprised when they first saw it at lunches out and such. I imagine the prestige will go down when the average Joe gets used to seeing these newer cards.
It is hard to see how they are relevant today except as corporate credit cards.
There is no monthly credit limit, which helped me out a lot when making deposits for my wedding. I can't explain why merchant participation seems to have gone up, though. Most people who use American Express also have Visa/MC in their wallets, so I wouldn't expect lost sales from the growing cashless consumer crowd.
I work for a credit union as a programmer. I am fairly involved in card stuff. <snip>
Thanks for the details. Do you know how American Express differs? They have several card types which require monthly payment in full, and I have heard that they are more expensive for merchants to support.
Please explain to me how multi-tasking makes latency a non-issue. Because on my computer, the OS is designed to schedule "well enough" but cannot schedule processes perfectly. And there's non-zero cost to process migration. And there are many global effects : shared cache, shared buses, shared global locks on devices. All of this means that some PoS application running in the background can hurt a game. How much of a difference does it make? Well that depends on the hardware someone has access to. High-end PCs will be able to eat the jitter without causing noticeable impact, but older machines may not fare so well. So please, don't tell me that latency "doesn't matter". It always matters. Consoles are designed much closer to realtime systems than consumer PCs, so they can guarantee lower jitter for the same price.
Is that a "Verizon nickel", or do you really mean 1/20 of a penny?
For latency-sensitive applications, yes. It doesn't matter if the overall CPU usage is 1%, if all of that 1% happens at very inconvenient points of time. It's also problematic if the other processes on your desktop are thrashing your memory hierarchy—that's much easier to control on an appliance-like device.
Don't forget Milwaukee, which is Algonquin for "the good land".
The incorrect use of that phrase by people who should know better is what bothers me. The phrase has a very specific and useful purpose in communication about logic and proofs. We shouldn't lose that meaning just because it don't sound good. I expect the rest of the population will continue to use "beg" to mean "ask" or "raise" in the same way other words and phrases evolve, but that doesn't prevent the preservation of its correct use in the appropriate forums.
I have seen much quicker response times from Chicago PD on several occasions, none with gunshots involved. I'm sure that their response time varies with neighborhood, though. More patrols around more dangerous neighborhoods => faster response times across the board, nearby.
It's worse for Opera users. I type /. into my address bar to get here. Including the Enter key, that's 3 keystrokes all in an addictive little cluster.
Oh, I'd take the advanced filesystem over the measurement I described any day. But given that they don't seem to exist yet, what I described is a realistic compromise between minimizing the total latency of the operation, and providing a responsive "user experience" to the person who is waiting for completion. You can even tune the rate of the stat-thread to your own liking.
Data, of course. Files can vary in size. Bits are bits. Blocks are blocks, at least per filesystem. To take a pathological case, a single 16TB file-copy should not have a single step from 0% to 100%.
I know external context which my computer does not. Family member turned on Netflix and the connection just slowed down? I can probably guess the reason. In fact, from my computer's perspective, I am practically clairvoyant. I know that my bandwidth will go down, because I am about to walk into another room which is farther away from the router. I also know that disk is going to slow down because I am about to open iTunes. And I know that my ISP does traffic-shaping which bursts the beginning of HTTP responses to optimize WWW browsing patterns.
I am also a much better pattern-matching engine than my computer. I remember the last few file similar file copies which occurred. I can see when the progress bar speeds up or slows down, and if it happens repeatedly maybe there is a pattern. My ancestors had to extrapolate constantly in order to survive. My computer file-copy dialog? Well, it's very good at measuring past transfer rates and doing fast calculations, but it's comparitively very dumb. Why wouldn't you expect a human to do a better job of extrapolation?
Well hey, that makes the electric car pretty similar to my laptop, my phone, my coffee maker, my lunch box, my underwear, my teeth, and everything else that seems to be fine when cared for on a daily basis. What was the problem again?
Actually, estimating an HTTP download is very similar to estimating a single-file copy. For the HTTP download, you have no information at all while you wait for the round-trip latency of the header. Once you have the header, you know exactly how large the file is, but you still don't know the network bandwidth. That's ok, because you can measure progress by bytes transferred.
For the file copy, you have no information at all while you wait for the stat call to complete. Once you have that, you know exactly how large the file is, but you still don't know the disk bandwidth. That's ok, because you can measure progress by bytes (or blocks) transferred.
Recursive copy is a good example of a task whose cost is not known up-front. Two things to know: total size of sources, total size copied.
No way, d00d. You can calculate the total size in a background thread which just goes through stating everything alongside the actual copies. Sure, it'll compete with the copy commands for disk access, but it won't add latency to the start of the copy.
Store the pre-calculated size of every file. If a file ends up larger, then use that size instead. Max Bytes grows and Percent Complete migiht shrink. Whoop-de-doo. If this happens, a user will notice and say, "huh, that's weird" and maybe write a snotty blog post about it. But the world will move on, and most people in most situations will see that the progress bar is good, because it is reasonably consistent, it doesn't lie, and it doesn't visibly delay the task at hand.
This is a problem with the developers of the progress bar (and their managers). "2 hours remaining" isn't a progress report. "28% complete" is a progress report. It's more accurate, it never goes backwards, and it splits the workload more effectively: the computer can calculate how much it has done, and the human can do some simple extrapolation to guess how long it will take, in a human time scale. That's not "20 minutes" or "2 hours", that's "quick enough to sit and watch the progress bar", or "enough time to take a leak / make some coffee", or "time to check my email / facebook". "2 hours remaining... no wait, 5 seconds remaining... no wait, it'll never finish!" is bullshit coming out of the program, and we all know it. So just cut the bullshit and let the progress bars indicate progress.
If the transfer is going to take more than a few hundred milliseconds, yes. The extra latency due to such "interruptbs" is small enough to justify the improvement in responsiveness.
I am not a particle physicist, but your explanation of the ozone layer sounds like a "canary in a coal mine" and not a red herring. If the energy from UV radiation is transferred to oxygen high in the atmosphere, that means that less of that energy is hitting the surface of our planet. If the O_3 content drops, that probably implies some combination of reduced UV energy input and reduced energy absorption. The former is fine, but the latter means more high-energy particles will reach habitable altitudes.
GP used a Martian apostrophe, you insensitive clod!
Perhaps their logic system simply discovered IsMan -> LikesDinosaurs. Roar!
Not going to happen. That would cause him to lose all of his Paladin's powers, including the celestial mount.
A well-tuned consumer-level OS and a dedicated trading GUI?
I may be reading too much Carl Sagan, but I wouldn't expect technology to make an individual smarter. I would merely expect it to increase the aggregate memory of the species, making the species smarter as a whole.
Please, don't apologize for applying critical thought. You're spot on.
Yes—we must provide the reinforcement for their learning!
Yeah, after thinking about the possible set of all credit card numbers, I'm not surprised that encryption creates a very low barrier. However, I would not want to be the guy who decided to eschew encryption. If a breach occurs, plaintext CC#'s sound more like negligence than pragmatism (and a little bit of fatalism) to the judicial system and the lawyery types.
They still carry that prestige. I got a Zync card recently, which is the new bottom tier for their pay-in-full cards ($75 annual fee, benefits that more than make up for the fee given my spending profile). A lot of co-workers were surprised when they first saw it at lunches out and such. I imagine the prestige will go down when the average Joe gets used to seeing these newer cards.
There is no monthly credit limit, which helped me out a lot when making deposits for my wedding. I can't explain why merchant participation seems to have gone up, though. Most people who use American Express also have Visa/MC in their wallets, so I wouldn't expect lost sales from the growing cashless consumer crowd.
Thanks for the details. Do you know how American Express differs? They have several card types which require monthly payment in full, and I have heard that they are more expensive for merchants to support.