I've been testing our aforementioned wifi latency reduction patches in a few more conditions to see how they fare. Here's the latest.
These are clips of http://6-dot-gfblip.appspot.com/ on my laptop while my iPhone generates traffic. tl;dr our patches to the AP greatly reduce latency impact (down to about 10ms) when the AP is sending stuff downstream. Not-so-surprisingly, we don't fare as well when the station (which we haven't patched and thus can't control) is sending things upstream as fast as it can.
Nevertheless, the upstream situation seems much worse than it should be. I'd expect, with only one AP and two stations ever transmitting (and only one of them transmitting a lot), that my gfblip ought to get at least 1/2 or 1/3 of the airtime. If stations get scheduled in a mostly-round-robin fashion, and each frame takes at most 3ms of airtime, then that should be only 3-6ms of added latency when only one station is blasting away. But instead we're seeing ~100ms of added latency, which is just nuts. Oh well, more debugging...
What's the incremental value of super fast Internet?
"It's almost unbelievable how disconnected from reality we've become if we think that 500 MB per month is useless. Ignoring gaming and media, 500 MB is more than I use per month on my phone, and I use it a lot every day. I remember when the web first became a thing and I was first able to contact people using IMs and emails. It was a huge, life-changing deal. You need to think back to your own experience with this, assuming you lived through it anyway. The difference between no Internet at all and 500 MB of Internet per month easily captures 95% of the total value that the Internet actually delivers to your daily life compared to the difference between 500 MB and unlimited."
Macbook models are mostly "old." One of my co-workers complains about this a lot, but the default narrative ("Steve Jobs left so Apple can't manage to release new Mac hardware anymore") seems silly to me. Obviously Apple can make an updated Macbook or Mac Pro every year or two if they wanted. Maybe it would get worse every time without Steve Jobs, and maybe not, but it's not like they suddenly became incapable of making new laptop models.
There's no way I can know why they do it this way, but: on the whole, I'm better off because of it. I don't have to upgrade my Mac so often. Software for the latest Mac works fine on my older Mac - because they're the same. Less platform fragmentation. Fewer screen sizes to support. Fewer memory sizes. Easy to make sure the latest OS version runs on everything. Fewer wifi variants to have interop bugs. (As a wifi AP vendor, I could actually just buy every model of Mac from the last 5 years and include it in my test bed. We don't, but we could :))
Not changing stuff is amazingly powerful as a product strategy and can lead to huge customer satisfaction.
Every bug encountered by a device dogfooder is one that probably 1000 users will encounter during the same amount of usage.
Before, when I had an internet outage, it was annoying. Now it's karma. I liked it the old way better.
I hope to never be on a team that gets permission to double in size over the next 6 months.
(*) Willing to make exceptions for teams of size 1 or 2.
LinkNYC, the pageant of consumption
"Not everyone will be admitted to the pageant of consumption. In Paris, the term for window-shopping is 'lèche-vitrine' literally: to lick the window. New Yorkers who cannot find affordable housing, a proper meal or pay for school tuition - much less access commodities advertised on 55” HD - should not be left to lick LinkNYC screens."
After 13 pages, I think they came out opposed to LinkNYC, but I'm not 100% sure.
QotD: "Apple's production volume is such that they consume OUIs every couple weeks, faster than we can keep up."
– Denton, on wifi taxonomy
#firstsevenjobs (subject to interpretation due to overlaps)
1. Main sysadmin for first free dialup ISP in my hometown.
2. Main sysadmin for first non-free dialup ISP in my hometown.
3. Tiny SNMP agent and text console for embedded controller in videoconferencing appliance.
4. Automated testing for million-dollar semiconductor test devices.
5. Declarative UI generator for database apps.
6. +/- 30 microsecond GPS time sync for multipath p2p audio/video live streaming appliances.
7. Self-configuring Linux-based server/firewall/router appliances for small business.
My life is on repeat, basically, except we only get +/- 30 milliseconds nowadays.
Okay, fine, #firstsevenlanguages .
1. BASIC on a TRS-80 Color Computer
2. 6809 Assembly
4. x86 Assembly
6. sh? awk?
There appear to be two kinds of teams:
1. Sure, you can switch back to classic mode for now. But warning: we're just gonna take away that option in a few weeks, so you might as well just give in right away.
2. Our new rewrite is very similar in UI but much faster, and better in almost every way. We're keeping it semi-secret until it's better in actually every way. If you ask nicely, you can join the limited dogfood.
I greatly enjoyed this article.