I'm not looking at logs. According to the documentation and graphs of my firewall, it's milliseconds. Even a 100ms EU server 4,200 miles away only has about 0.3ms of average ICMP jitter and 0.1ms of NTP jitter. ISP's NTP server is about 0.14ms away, but it's not strata 1. I use a bunch of public strata 1 and strata 2 with similar offsets to the strata 1 from around the USA. West coast, East coast, Midwest, deep south. All of them are hanging around an offset of 0.1ms. I tried adding my ISP's NTP, but it's got an offset of about 1ms and gets treated as an outlier. I do find it interesting that the offset for nearly all servers around the world have nearly identical offsets.
The high level algorithm for NTP doesn't really care much about the RTT. It's mostly cancelled out, but higher RTTs can make it take longer to reach steady state synchronization. The algorithm primarily focuses on differences in time stamps, and subtracts the RTT from the difference. Of course the larger the RTT, the more time for the clock to jitter, increasing uncertainty. But when I've got 6 NTP servers ranging from 10ms to 70ms and they all have an offset within 50us of each other, I wonder how much RTT really matters in the timeframes of terrestrial RTTs. Timekeeping fundamentally really hates jitter, but in theory, RTT doesn't matter in the long run with in reason relative to issues with the clock.
Offset variation has the greatest cycles during winter. When I open the window for some fresh air, the heater blows up the back of the firewall/NTP. I can see in my NTP graph every time the heater kicks on.
I can get within microseconds of NTP servers thousands of miles away with my home built firewall. Logs are showing an average offset of 0.08ms and max of 5ms. That offset is based on 5 minute syncs. So.. after 5 minutes since the last update, it's 0.08ms off from the remote. Right now I'm within 0.3ms of 6 different NTP servers.
The main benefit of a block chain isn't that it can be decentralized, it's that that all of the consumers can validate on their own that it hasn't been tampered with. Even if the only service that can change it is centralized, as long as all consumers can access the chain, they can keep a copy or even just the hash of some block and know if anything has changed. It's verified trust.
You don't need to recheck the entire chain. Only blocks after the last trusted hash. Any block chain that does not contain the last trusted hash cannot be trusted at all.
I think humans should not be employed for anything. My hopefully end goal is that all work is automated, allowing humans to not care about how to make ends meet.
Do you also boycott cars, bikes, and walking to help horse-drawn carriages?
Mmmm hyper-focus. A few cycles of mind wandering and hyper-focus can get someone with ADHD well ahead of the game when it comes to topics of interest. Make everyone else look like they're mentally retarded. The "hyper" in this case refers to the impatiences of the ADHD person having to wait for everyone else.
Depends on what they mean by "ADHD". "ADHD" is many times used as a catch-all for both ADHD and ADD. I have ADD and I definitely could not do what I do without it. I took medication for several months and what I found is while my focus was greatly improved, my ability to creatively solve problems was destroyed while on it. I brought this up to my doctor and he said that a common complaint and actually recommended not taking medication unless I really needed to. He said it is common for people with ADD to have some form of extreme mental compensation, like the ability to hyper-focus when interested. He highly recommended learning to cope and practice using the strengths gained to compensate for the weaknesses.
I've been learning to cope with ADD for many decades now. I find my best work is when I let my mind wander, which ADD is great at doing. I've learned to mostly be able to direct the wandering. I assume it's the dopamine rush of solving extremely difficult novel problems that no one else seems to be able to, that helps with directing.
I personally think the biggest block to parallelism is everyone used to using pre-made algorithms or libraries and attempting to shoe-horn their problem domain into a limited collection of general purpose parallel algorithms. I find that fit for purpose parallel algorithms and data structures are quite abundant. I've seen rolling my own for a long time. I started parallel programming around the age of 11. I found it quite intuitive. I see race conditions as a form of edge case. All you need to do is design code that has no edge cases. If you're defined and handled all of your edge cases, you cannot have any race conditions.
I've seen a lot of designs that were made single threaded because contention was too high to be useful concurrently, but it was a self-fulfilling prophecy because the engineers never realized that perfect is the enemy of good. There are many cases where certain data types can be lossy and not hurt anything, and in these cases, contention could be virtually eliminated if the engineers could think outside the box.
I see engineers designing locks with the idea of preserving ordering, even when ordering does not matter, or making sure that an ephemeral aggregate value is 100% correct when 99% correct is good enough. People like to make a problem fit the way they understand the problem instead of changing their understanding to fit the problem.
After they add all of these meaningless locks around the system, the complain that the problem can't be parallelized effectively.
Omg, did the packet arrive before the key-press or the other way?! Who the fk cares?! The problem already has fundamental race conditions, adding or removing one more class of race conditions will not matter. Key presses by the user has no synchronization requirements with data coming in from the network. Why create such a dependency? This is a simplistic example of much more complex assumptions of ordering that most people feel compelled to enforce because it simplifies their mental model.
Personally, I like to take the approach of of distributed systems. For some reason, people can handle accepting no guarantee of ordering when you have distinctly separate computers asynchronously processing event streams than different threads doing the same thing in a CPU. They can't seem to grasp the abstractness of an API, and treat web service API(endpoint) calls as something completely magically different than a library API(method) call.
Many of my applications require port forwarding and quite a few use random ports between the range of 16,000 and 64,000, and no control over which port will be used. This same issue applies to IPv6, because I want incoming ports blocked by default. Please propose a better way to dynamically open/forward ports over a large range.
"Many" is a quasi-relative word that indicates "a large number". The "relative" part is in what context do we mean "large". A large number relative to other stars or relative to commonly used human numbers? Relative to other stars, it's pretty much on par, meaning it's not a large number, so "not many".
401ks rarely get destroyed, just temporarily devalued. Eventually the market corrects itself and you're back to normal. Unless you decided to sell low and cash out during a crash, which is stupid. The value of my 401k nearly doubled during the 2008 crash, just by using the general "index" investment options. Market crashes are rare opportunities to buy really low.
20-30% performance gain for something like 5% more transistors is nothing to sneeze at, but holy crap is it a finicky jittery fragile 20% gain that is rife with corner cases. Assuming the work load even benefits. Plenty that do not.
In physics, the reason for the halt in progress is obvious: string theory. Half the talent in the field dragged into that cul-de-sac with nothing to show for it.
Saying the smartest people in physics are stupid at physics is contradictory. Either they're not smart and won't be missed or they are smart and they're on to something.
Seems to me that Newton got the last of the low hanging fruit. We're at a point in history where theory works so well that the only way to prove or disprove something is to have several thousand scientists and engineers working for decades to setup the experiment. LHC is one such example. Technology is still moving forward via the normal iterative processes and physics is currently keeping pace.
It seems the biggest area ripe for a major change to living is nano technology. All of there crazy awesome materials that mostly have an issue of manufacturing. It's also an interesting area because there are so many alloys with different nano-structures that could have countless beneficial characteristics. It's incredibly difficult to haphazardly find these. Seems like a great way to use CPU time to search for these.
The average of unweighted averages. Still a useful number. I've learned to question a lot of aggregate values. What do you really mean by "Average", "total", "max", etc?
Non-ionizing radiation may not cause cancer via DNA alternation, but possibly via heating. If this is the case, then anything that causes localized heating could increase risks.
at some point a piece of software will reach the point where the human cannot reliably handle the complexity anymore
Indicative of poor factoring. I have a memory disability and I deal with complex designs better than most because I am forced to factor and forget details. I regularly have to help others with their own systems because they've become too complex, yet having no knowledge of their system I can reason about their systems better and find and fix their issues that they themselves could not, only by inference. I have literally debugged systems without knowing the design or having seen the source code.
Just a description of what their system is supposed to do and what issue they were having was enough for me to make assumptions about how a "sane" person would design their system. If you attack the problem from both ends, you can think up a bunch of designs, them limit to which designs could have the symptoms being observed.
They never said anything about not trying not to learn, just not purposefully learning. They only said they don't have enough time to know how to do regular maintenance themselves. I'm in the same boat. I know just enough to sate my curiosity and to know that I don't know enough. I've read enough "how to change your oil" guides to know that they don't cover the "what to do when something goes wrong". Cars are not computers. Parts can get stuck or wear out. And there's always the "what to look for when changing your oil" that my local trusted mechanic will notice and catch before the part becomes an issue.
I know enough about my car to understand how it works, but also enough to know that someone versed in the trade should be doing the work. Most DIYers doing their own car maintenance have the ability of a sophomore programming. They know just enough to technically handle the happy path, and enough to cause damage while not noticing the minor details that give warning of something being wrong. Then they reinforce their confidence because their car didn't blow up, so they must have done a good job.
Non-interacting socialization seems paradoxical. I can get the same level of socialization hanging out in a muted discord channel. As an introvert who grew up spending countless hours on the internet, I cannot understand the incredibly boring rational of just silently "hanging out" around people. Most humans crave stimuli. Maybe it's something one cannot understand unless you live within the Arctic Circle.
Your rebuttal isn't very good. More bugs are caused by misuse of algorithms than using new ones. I would have attacked the notion that any problem can be solved with an algorithm. W're just about out of low hanging optimizations. We'll probably new whole new approaches.
According to another study, getting up and walking for 10-15 minutes every 1.5-2.0 hours is healthier than a single concentrated 2-6 hours of aerobic exercise. It's not a matter of exercising, it's a matter of regularly moving.
I'm not looking at logs. According to the documentation and graphs of my firewall, it's milliseconds. Even a 100ms EU server 4,200 miles away only has about 0.3ms of average ICMP jitter and 0.1ms of NTP jitter. ISP's NTP server is about 0.14ms away, but it's not strata 1. I use a bunch of public strata 1 and strata 2 with similar offsets to the strata 1 from around the USA. West coast, East coast, Midwest, deep south. All of them are hanging around an offset of 0.1ms. I tried adding my ISP's NTP, but it's got an offset of about 1ms and gets treated as an outlier. I do find it interesting that the offset for nearly all servers around the world have nearly identical offsets.
The high level algorithm for NTP doesn't really care much about the RTT. It's mostly cancelled out, but higher RTTs can make it take longer to reach steady state synchronization. The algorithm primarily focuses on differences in time stamps, and subtracts the RTT from the difference. Of course the larger the RTT, the more time for the clock to jitter, increasing uncertainty. But when I've got 6 NTP servers ranging from 10ms to 70ms and they all have an offset within 50us of each other, I wonder how much RTT really matters in the timeframes of terrestrial RTTs. Timekeeping fundamentally really hates jitter, but in theory, RTT doesn't matter in the long run with in reason relative to issues with the clock.
Offset variation has the greatest cycles during winter. When I open the window for some fresh air, the heater blows up the back of the firewall/NTP. I can see in my NTP graph every time the heater kicks on.
AWS Frankfurt 18.194.0.252
Packets: sent=304, rcvd=304, error=0, lost=0 (0.0% loss) in 30.404090 sec
RTTs in ms: min/avg/max/dev: 102.449 / 103.162 / 104.918 / 0.350
Frankfurt used to be about 120ms, but is down to 100ms. New routes are nice. And my ping to London is down from 100ms to 90ms.
Oh, and from NTP documentation about ntpq: "the offsets for each reachable server in milliseconds"
Some day I'm going to get a GPS Raspberry Pi or something
I can get within microseconds of NTP servers thousands of miles away with my home built firewall. Logs are showing an average offset of 0.08ms and max of 5ms. That offset is based on 5 minute syncs. So.. after 5 minutes since the last update, it's 0.08ms off from the remote. Right now I'm within 0.3ms of 6 different NTP servers.
The main benefit of a block chain isn't that it can be decentralized, it's that that all of the consumers can validate on their own that it hasn't been tampered with. Even if the only service that can change it is centralized, as long as all consumers can access the chain, they can keep a copy or even just the hash of some block and know if anything has changed. It's verified trust.
You don't need to recheck the entire chain. Only blocks after the last trusted hash. Any block chain that does not contain the last trusted hash cannot be trusted at all.
I think humans should not be employed for anything. My hopefully end goal is that all work is automated, allowing humans to not care about how to make ends meet.
Do you also boycott cars, bikes, and walking to help horse-drawn carriages?
Mmmm hyper-focus. A few cycles of mind wandering and hyper-focus can get someone with ADHD well ahead of the game when it comes to topics of interest. Make everyone else look like they're mentally retarded. The "hyper" in this case refers to the impatiences of the ADHD person having to wait for everyone else.
Depends on what they mean by "ADHD". "ADHD" is many times used as a catch-all for both ADHD and ADD. I have ADD and I definitely could not do what I do without it. I took medication for several months and what I found is while my focus was greatly improved, my ability to creatively solve problems was destroyed while on it. I brought this up to my doctor and he said that a common complaint and actually recommended not taking medication unless I really needed to. He said it is common for people with ADD to have some form of extreme mental compensation, like the ability to hyper-focus when interested. He highly recommended learning to cope and practice using the strengths gained to compensate for the weaknesses.
I've been learning to cope with ADD for many decades now. I find my best work is when I let my mind wander, which ADD is great at doing. I've learned to mostly be able to direct the wandering. I assume it's the dopamine rush of solving extremely difficult novel problems that no one else seems to be able to, that helps with directing.
I personally think the biggest block to parallelism is everyone used to using pre-made algorithms or libraries and attempting to shoe-horn their problem domain into a limited collection of general purpose parallel algorithms. I find that fit for purpose parallel algorithms and data structures are quite abundant. I've seen rolling my own for a long time. I started parallel programming around the age of 11. I found it quite intuitive. I see race conditions as a form of edge case. All you need to do is design code that has no edge cases. If you're defined and handled all of your edge cases, you cannot have any race conditions.
I've seen a lot of designs that were made single threaded because contention was too high to be useful concurrently, but it was a self-fulfilling prophecy because the engineers never realized that perfect is the enemy of good. There are many cases where certain data types can be lossy and not hurt anything, and in these cases, contention could be virtually eliminated if the engineers could think outside the box.
I see engineers designing locks with the idea of preserving ordering, even when ordering does not matter, or making sure that an ephemeral aggregate value is 100% correct when 99% correct is good enough. People like to make a problem fit the way they understand the problem instead of changing their understanding to fit the problem.
After they add all of these meaningless locks around the system, the complain that the problem can't be parallelized effectively.
Omg, did the packet arrive before the key-press or the other way?! Who the fk cares?! The problem already has fundamental race conditions, adding or removing one more class of race conditions will not matter. Key presses by the user has no synchronization requirements with data coming in from the network. Why create such a dependency? This is a simplistic example of much more complex assumptions of ordering that most people feel compelled to enforce because it simplifies their mental model.
Personally, I like to take the approach of of distributed systems. For some reason, people can handle accepting no guarantee of ordering when you have distinctly separate computers asynchronously processing event streams than different threads doing the same thing in a CPU. They can't seem to grasp the abstractness of an API, and treat web service API(endpoint) calls as something completely magically different than a library API(method) call.
Many of my applications require port forwarding and quite a few use random ports between the range of 16,000 and 64,000, and no control over which port will be used. This same issue applies to IPv6, because I want incoming ports blocked by default. Please propose a better way to dynamically open/forward ports over a large range.
"Many" is a quasi-relative word that indicates "a large number". The "relative" part is in what context do we mean "large". A large number relative to other stars or relative to commonly used human numbers? Relative to other stars, it's pretty much on par, meaning it's not a large number, so "not many".
and destroyed what little they had in their 401ks
401ks rarely get destroyed, just temporarily devalued. Eventually the market corrects itself and you're back to normal. Unless you decided to sell low and cash out during a crash, which is stupid. The value of my 401k nearly doubled during the 2008 crash, just by using the general "index" investment options. Market crashes are rare opportunities to buy really low.
20-30% performance gain for something like 5% more transistors is nothing to sneeze at, but holy crap is it a finicky jittery fragile 20% gain that is rife with corner cases. Assuming the work load even benefits. Plenty that do not.
In physics, the reason for the halt in progress is obvious: string theory. Half the talent in the field dragged into that cul-de-sac with nothing to show for it.
Saying the smartest people in physics are stupid at physics is contradictory. Either they're not smart and won't be missed or they are smart and they're on to something.
Dark Matter is the Gravity of the 1600s.
Seems to me that Newton got the last of the low hanging fruit. We're at a point in history where theory works so well that the only way to prove or disprove something is to have several thousand scientists and engineers working for decades to setup the experiment. LHC is one such example. Technology is still moving forward via the normal iterative processes and physics is currently keeping pace.
It seems the biggest area ripe for a major change to living is nano technology. All of there crazy awesome materials that mostly have an issue of manufacturing. It's also an interesting area because there are so many alloys with different nano-structures that could have countless beneficial characteristics. It's incredibly difficult to haphazardly find these. Seems like a great way to use CPU time to search for these.
The average of unweighted averages. Still a useful number. I've learned to question a lot of aggregate values. What do you really mean by "Average", "total", "max", etc?
Non-ionizing radiation may not cause cancer via DNA alternation, but possibly via heating. If this is the case, then anything that causes localized heating could increase risks.
at some point a piece of software will reach the point where the human cannot reliably handle the complexity anymore
Indicative of poor factoring. I have a memory disability and I deal with complex designs better than most because I am forced to factor and forget details. I regularly have to help others with their own systems because they've become too complex, yet having no knowledge of their system I can reason about their systems better and find and fix their issues that they themselves could not, only by inference. I have literally debugged systems without knowing the design or having seen the source code.
Just a description of what their system is supposed to do and what issue they were having was enough for me to make assumptions about how a "sane" person would design their system. If you attack the problem from both ends, you can think up a bunch of designs, them limit to which designs could have the symptoms being observed.
They never said anything about not trying not to learn, just not purposefully learning. They only said they don't have enough time to know how to do regular maintenance themselves. I'm in the same boat. I know just enough to sate my curiosity and to know that I don't know enough. I've read enough "how to change your oil" guides to know that they don't cover the "what to do when something goes wrong". Cars are not computers. Parts can get stuck or wear out. And there's always the "what to look for when changing your oil" that my local trusted mechanic will notice and catch before the part becomes an issue.
I know enough about my car to understand how it works, but also enough to know that someone versed in the trade should be doing the work. Most DIYers doing their own car maintenance have the ability of a sophomore programming. They know just enough to technically handle the happy path, and enough to cause damage while not noticing the minor details that give warning of something being wrong. Then they reinforce their confidence because their car didn't blow up, so they must have done a good job.
Non-interacting socialization seems paradoxical. I can get the same level of socialization hanging out in a muted discord channel. As an introvert who grew up spending countless hours on the internet, I cannot understand the incredibly boring rational of just silently "hanging out" around people. Most humans crave stimuli. Maybe it's something one cannot understand unless you live within the Arctic Circle.
I don't get it. If I didn't want to talk to anyone, I'd save time and money, and just drink at home.
"Meh, living in a first world country. Could be worse.".
Your rebuttal isn't very good. More bugs are caused by misuse of algorithms than using new ones. I would have attacked the notion that any problem can be solved with an algorithm. W're just about out of low hanging optimizations. We'll probably new whole new approaches.
According to another study, getting up and walking for 10-15 minutes every 1.5-2.0 hours is healthier than a single concentrated 2-6 hours of aerobic exercise. It's not a matter of exercising, it's a matter of regularly moving.