Archive for May 11, 2022

Wednesday, May 11, 2022

Microsoft’s Adaptive Accessories

Mitchell Clark:

Microsoft has announced a lineup of adaptive accessories which are meant to augment or replace the regular keyboards and mice that people with disabilities could struggle to use. The lineup consists of three different devices: the Adaptive Mouse, Adaptive Buttons, and the Adaptive Hub. The mouse and buttons are made to support 3D-printed accessories so you can customize them to work the way you want them to.


Microsoft says that its adaptive accessories will be launching in the fall, though there isn’t yet info on how much the devices will cost yet.

AirPlay Bugs

Nick Heer:

Here are the two ways I most frequently use AirPlay through my Apple TV:

  1. I want to listen to music on my living room speakers, so I play albums — local and streamed from Apple Music — from my iPhone or my Mac.

  2. I want to watch a movie I previously ripped from disc or a TV show I have in my library, so I will AirPlay from QuickTime on my Mac.

Both of these features are acknowledged on Apple’s AirPlay marketing webpage, but neither works as expected.


I have filed bug reports against all of these behaviours. It is this last one where I received the biggest surprise: Apple closed it with the explanation that it “works as currently designed”.

USB-C Hubs Breaking Ethernet Networks


I recently learned that some USB-C hubs, with power pass through and an Ethernet port, seem to destabilize a wired network when they are connected to ethernet and to power but not to a computer. They do this by flooding the network with bad traffic (or maybe PAUSE frames).


It sounds unlikely but it seems like a longstanding issue if you look for it.

This carefully researched 2018 reddit post does the best job documenting the issue in depth, manifesting on a TOTO USB-C hub. This blog post describes the same issue with Aukey and Flyland hubs. This 2020 forum post describes the issue with an Orbi router. More recently, this 2021 forum post describes it in a Dell monitor’s embedded USB-C hub

I believe I’m seeing it myself. My new Anker PowerExpand 8-in-1’s Ethernet port lights up with a lot of “phantom” network activity even when there’s no computer attached. Then later, a computer and other devices plugged into the same network switch as that USB-C hub will lose wired connectivity. Restarting the switch resolves the problem. But the problem is also solved by never leaving the hub USB-C powered and connected without a computer!

Via Kyle Howells:

I’ve had this problem with 3 different ethernet adapters. If I leave the ethernet USB hub plugged into the ethernet switch it will break the switch sending any network traffic at all unless I unplug it & reboot the switch.


The interesting thing is that the hub doesn’t seem to be anything explicitly wrong here.


USB is a bit flaky, and sometimes the connection burps and drops out for a fraction of a second. You don’t really want to lose any data, so you just add a small buffer on the adapter so you can resume when the connection comes back.

But doing that is expensive, and you still run the risk of the buffer filling up. Turns out Ethernet supports a “pause” command which tells the switch to halt sending new data for a bit!


Besides, it’s completely harmless.

Well, until someone doesn’t really read the Ethernet specs when designing switches. Turns out some switches will honor the pause command, and then forward it to all other device. A blatant violation of the spec, but nobody notices because the pause thing was specified in 1997 and most people forgot about it because it turned out to be pretty useless. And of course the devices they forward it to are honoring the pause commands, so they stop sending data altogether.

Problems With Promotion-Oriented Cultures

Zach Lloyd (via Hacker News):

If you’re an engineer at Google or Facebook, you’re likely focused on one career question: when am I going to make it to the next level?

Getting to the next level unlocks a lot – more money, more responsibility, more respect, a feeling of progress – and even if you care deeply about other things (your product, your users, etc), you can’t really avoid caring about promotion as well.


The main problem with promotion-oriented culture is that it’s very hard to align promotion-criteria with business objectives, and so engineers end up doing a lot of work that doesn’t necessarily most benefit the product, users, or business – or even potentially their own growth.


Our [Google Sheets] engineers cared about the product and wanted to polish it. But they also wanted to be promoted. And so we would deprioritize product polish for projects that looked better to a promotion committee.


But the root cause isn’t that people want to get promoted. It’s that Google promotes people for the wrong reasons. Put very simply, the problem is that Google promotes people for “solving hard problems” not for solving USEFUL problems.

Imagine if people did get promoted for fixing bugs instead of building a new product (to be abandoned)! Or if maintaining an existing system was somehow on par with building a new system (which is just a bigger more complicated version of something perfectly good). The googler would say “well those useful problems are too easy to merit a promotion.


Update (2022-05-19): See also: Hacker News.