3425 stories
·
6 followers

This map is not upside down

1 Share

Article URL: https://www.maps.com/this-map-is-not-upside-down/

Comments URL: https://news.ycombinator.com/item?id=45292694

Points: 170

# Comments: 266

Read the whole story
Sjon
3 hours ago
reply
Share this story
Delete

"Your" vs. "My" in user interfaces

1 Share

Article URL: https://adamsilver.io/blog/your-vs-my-in-user-interfaces/

Comments URL: https://news.ycombinator.com/item?id=45257627

Points: 272

# Comments: 123

Read the whole story
Sjon
2 days ago
reply
Share this story
Delete

Public static void main(String[] args) is dead

1 Share

Article URL: https://mccue.dev/pages/9-16-25-psvm

Comments URL: https://news.ycombinator.com/item?id=45258098

Points: 178

# Comments: 174

Read the whole story
Sjon
2 days ago
reply
Share this story
Delete

Why is the name of the Microsoft Wireless Notebook Presenter Mouse 8000 hard-coded into the Bluetooth drivers?

2 Shares

Some time ago, people noticed that buried in the Windows Bluetooth drivers is the hard-coded name of the Microsoft Wireless Notebook Presenter Mouse 8000. What’s going on there? Does the Microsoft Wireless Notebook Presenter Mouse 8000 receive favorable treatment from the Microsoft Bluetooth drivers? Is this some sort of collusion?

No, it’s not that.

There is a lot of a bad hardware out there, and there are a lot of compatibility hacks to deal with it. You have CD-ROM controller cards that report the same drive four times or USB devices that draw more than 500mW of power after promising they wouldn’t. More generally, you have devices whose descriptors are syntactically invalid or contain values that are outside of legal range or which are simply nonsensical.

Most of the time, the code to compensate for these types of errors doesn’t betray its presence in the form of hard-coded strings. Instead, you have “else” branches that secretly repair or ignore corrupted values.

Unfortunately, the type of mistake that the Microsoft Wireless Notebook Presenter Mouse 8000 made is one that is easily exposed via strings, because they messed up their string!

The device local name string is specified to be encoded in UTF-8. However, the Microsoft Wireless Notebook Presenter Mouse 8000 reports its name as Microsoft⟪AE⟫ Wireless Notebook Presenter Mouse 8000, encoding the registered trademark symbol ® not as UTF-8 as required by the specification but in code page 1252. What’s even worse is that a bare ⟪AE⟫ is not a legal UTF-8 sequence, so the string wouldn’t even show up as corrupted; it would get rejected as invalid.

Thanks, Legal Department, for sticking a ® in the descriptor and messing up the whole thing.

There is a special table inside the Bluetooth drivers of “Devices that report their names wrong (and the correct name to use)”. If the Bluetooth stack sees one of these devices, and it presents the wrong name, then the correct name is substituted.

That table currently has only one entry.

The post Why is the name of the Microsoft Wireless Notebook Presenter Mouse 8000 hard-coded into the Bluetooth drivers? appeared first on The Old New Thing.

Read the whole story
Sjon
3 days ago
reply
Share this story
Delete

Magical systems thinking

1 Share

Article URL: https://worksinprogress.co/issue/magical-systems-thinking/

Comments URL: https://news.ycombinator.com/item?id=45233266

Points: 258

# Comments: 80

Read the whole story
Sjon
3 days ago
reply
Share this story
Delete

E-paper display reaches the realm of LCD screens

1 Share

Article URL: https://spectrum.ieee.org/e-paper-display-modos

Comments URL: https://news.ycombinator.com/item?id=45185756

Points: 332

# Comments: 95

Read the whole story
Sjon
4 days ago
reply
Share this story
Delete
Next Page of Stories