The 500-mile email story seems to be the Hacker News equivalent to Reddit's SR-71 speed check story [1]. It keeps coming back again and again because everybody loves it.
[throwaway account] A couple of years ago, my company (SEA) was bought by a private equity-based company that was assembling a portfolio of similar companies. The IT group got taken over by a competent yet overworked group in their main office (PHX.)
The remote IT group wanted to move everyone's computer to their windows VMs that were in their colo in PHX, which were managed (and presumably logged) out of a central management panel. From their point of view, this was a great solution. I was trying to get them to put a separate VM bank up locally, because of the speed of light delay (at least 15ms) that would be small but annoying.
I had convinced the remote IT people that this would be a good idea, and also the [PHX] CTO apparently thought it was a good idea, but my local 'location boss,' who used to run our company decided that I was just doing it to increase my power. (which was untrue, because I would be going back to just ENG and not IT after the transition.)
So, my boss cancels it and throws me under the bus to management at our new home office. It takes a couple of weeks, then the terminals that log into the remote hosts get installed. The speed of light is one of the constants of the universe, so the problem I mention immediately happens.
My location boss gets annoyed by the slow performance on his computer and, remembering that I'd said something about slowness, storms into my office and starts demanding that I fix the computers. I try and calm him down and tell him that there's no way to fix this without moving the terminals & vms closer together.
He calls up the remote IT folks and they agree with me. He, at his next trip down to HQ, starts slagging on me to anyone who'd listen. Various people at the new home office warn me about this, but there's really nothing I can do about it.
After some hilarity, I'm transferred to a project that was designed to fail so there can be paperwork justifying laying me off.
So that is another way the speed of light can have real-world consequences.
It's like this weird setting in Ubuntu's network driver config file, "11n_disable." I won't pretend to know much about it but every time I install Ubuntu on a machine, wifi internet speeds are slow until I set the above to "8". To me it seems like literally a "go faster" switch.
I'd be curious to learn what it does for you, because my intuitive interpretation would say that 1 would be "disable all", but that doesn't explain why "enable agg TX" would be an improvement unless agg RX is worse than the baseline...which is probably a bug.
e: Oh, apparently this is a pathological re-use of an existing module flag to force something on that they disabled due to instability in some cases, see also:
So I'm sorry, but my assumption about =1 is not valid, as I assumed that all of the bits (1,2,4,8) were mutating the same thing, not "one bit does something VERY DIFFERENT".
Ahah, your story is starting to make more sense! Setting the value above 8 would set the 'enable agg TX' bit in this bitmask.
Side note: 11n_disable=8 as a way to enable an advanced wifi settings is not the most user-friendly option in the world. It looks like this was added as a patch to fix a compatibility issue with certain NICs[1]. Be careful setting it higher than 8 -- as that would set other flags in the bitmask, potentially turning off 802.11n entirely!
I've not heard of AMPDU before -- but it seems to be an 802.11n-specific protocol extension that allows you to send multiple MPDU blocks (i.e. frames) to the router at a time, rather than one at a time. This seems to trade off latency for error correction between a client and the router [2][3]. So by setting this flag, you're able to transmit multiple frames at a time, rather than retrying each frame individually until it goes through on a busy channel. This really does seem to make a difference, one report online suggests tx throughput goes from 20Mbit/s to 80Mbit/s when agg TX is enabled[4].
Apparently this was introduced in 2014 in order to patch a firmware issue on certain intel NICs. There's a whole conversation on the linux-wireless list about it[5], which seems to conclude that they couldn't reproduce the issue[6]:
> I have seen reports from many users and many devices - and unfortunately I have never been able to reproduce - so I can't know if it affects all the devices. All I can see is that I saw reports on very old devices (5150) and with more recent devices (2230).
As I recall, according to "Strunk and White", and the "Chicago Manual of Style", all punctuation is supposed to be included inside the quote characters.
I happen to disagree with them, but they have been considered authorities on the proper way to write in the English language for many decades.
BTW, I think information travels over "normal" networking gear (e.g. fiber optics) at about 70% of the speed of light (which is why high-frequency trading tends to move to over-the-air microwave networking to shave a few nanoseconds - see [1]). But I guess the story still works, at the resolution it is told.
It does induce a geeky joy but it's ephemeral for the most part as Google is vastly superior in usefulness. I learned about units few years back, used it for a while, and I can't even remember when but I just started Googling the conversions instead of switching to the terminal window.
I mostly use Spotlight (on OS X) to do conversions since it saves me switching to the browser or terminal. It doesn't handle as advanced conversions as Google does but it handles 90% of my common cases (including currencies)
user@server:~$ units -V
GNU Units version 2.11
with readline, with utf8, locale en_US
Units data file is '/usr/share/units/definitions.units'
Personal units data file is '/home/user/.units'
(file does not exist)
Copyright (C) 2014 Free Software Foundation, Inc.
GNU Units comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GNU Units
under the terms of the GNU General Public License.
user@server:~$ units
Currency exchange rates from www.timegenie.com on 2014-04-02
2866 units, 109 prefixes, 79 nonlinear units
You have: 3millilightseconds
You want: miles
* 558.84719
/ 0.0017893979
You have:
user@server:~$
I thoroughly enjoyed this story, but wonder if the details have changed a bit over time, perhaps? If light can travel ~558 miles in 3 milliseconds, it seems that mail sent more than 250 miles would have failed (because RTT)?
Also, I'm not sure how big a difference it makes, but signals propagate at less than the "speed of light" (vacuum) when the medium is copper.
I've read this story dozens of times and this is the first time SunOS jumped out at me. Around 2001 or so there was a Solaris release (2.7 maybe?) that had a bug in a particular patch release where sleep() returned instantly. That would have exhibited all sorts of interesting symptoms such as this story.
I had the joy of re-engineering a terrible in-house web server because of that bug.
It had used the system sleep to pause execution between the fake threads in their awful program. Suddenly everything was hitting race problems, instead of about 10%. Not something I really understood why it was going so bad, so I just dumped the inhouse implementation of threads, and took up the Solaris one, which was a joy by comparison.
Sleep() returns early if a signal is delivered to the program, so doesn't your code need to handle this case anyway? Of course, this is super rare, so incorrect code could survive for a long time on a correctly implemented system.
I love this every time I see it. Newcomers may not have seen it so reposting doesn't seem a problem. And 24 days ago it was totally ignored in the new submission lottery, so again reposting doesn't seem a problem.
Stories like this remind me of the days when the internet was young, and fun, and silly, and best experienced in its green-on-black usenet glory. (418 Error: I'm a teapot, for example.) The internet just doesn't seem fun anymore.
It's not that the Internet has lost its fun--it's just too easy to find it these days. You appreciated everything a little more when you had to get on your bike and ride a mile across campus to the campus computing center just to read that silly USENET post on a 80x24 serial terminal. Now you can read it on your watch or your glasses or yell at your home stereo to read it to you.
I used to wonder what it would be like to time-travel to ancient times and show a gun or a car to a Neanderthal. I think it would be just as crazy to show 2017 me to 1993 me.
[1] https://www.reddit.com/r/SR71/comments/2dpmw7/the_sr71_speed... (and many others, too numerous to reference)