• 0 Posts
  • 8 Comments
Joined 3 years ago
cake
Cake day: June 21st, 2023

help-circle
  • Blame the standards group. There are so many things USB is excellent at but they have been horrifically butchering the implementation.

    They need to mandate compliance. Each accessory should support a basic level of features. Packaging and listings should include a facts table which shows the support for the various features. You shouldn’t have to guess.

    But let’s talk about the features. Oh. My. God. Let’s talk about it.

    USB-PD is great. But they don’t have to support it. Or they can have their own implementation which is also compliant. Or their own implementation which isn’t.

    Oh, but you can connect your headphones into the USB port and play music! Well, only if the device, cable, and headphones support analog audio. Or if the device, cable, and headphones support digital audio. But if it supports digital audio, both devices must support synchronous audio. Or asynchronous. Or adaptive. And none of these are cross-compatible.

    Well, that’s annoying. At least video isn’t bad. You can use it to connect directly to your monitor! Just make sure it’s DP. Or HDMI. Or VGA. Or MHL. Or VirtualLink. Only DP and HDMI are cross-compatible.

    They also can support Ethernet. Or they might not. They could support ThunderBolt. Or they won’t.

    They have to be at least USB 3.0. Sorry, 3.1 Gen 1. Wait, 3.2 Gen 1x1. Oh, I mean SuperSpeed USB 5Gbps. Ah, fuck, never mind they changed the standard again - USB1/2 are fine.

    But at least manufacturers are happy to put the specs on their packaging and listings, right? I’m sure there isn’t any natural incentive to hide this information so they can sell inferior products.


  • That’s the worst part about it - the fix is so simple. Google just completely abandoned it.

    It was just a single kernel function call on a single line with slightly modified arguments. Just make a small update and it works perfectly fine.

    I spent much more time researching the fix than I did applying it. But now I have to rebuild and reinstall it every single time I update my kernel.


  • Calling it a fancy autocomplete might not be correct but it isn’t that far off.

    You give it a large amount of data. It then trains on it, figuring out the likelihood on which words (well, tokens) will follow. The only real difference is that it can look at it across long chains of words and infer if words can follow when something changes in the chain.

    Don’t get me wrong; it is very interesting and I do understand that we should research it. But it’s not intelligent. It can’t think. It’s just going over the data again and again to recognize patterns.

    Despite what tech bros think, we do know how it works. We just don’t know specifically how it arrived there - it’s like finding a difficult bug by just looking at the code. If you use the same seed, and don’t change anything you say, you’ll always get the same result.




  • Or by configuring your parser.

    I do agree there are plenty of annoyances that shouldn’t exist in YAML but do because someone had an opinionated belief at one point, though. For example, it shouldn’t try to guess that “yes”, “no”, “y”, and “n” are truthy values. Let the programmer handle that. If they write true/false, then go ahead and consider those truthy. Times can also be a bit of a pain - iirc writing 12:00 is supposed to be interpreted as 0.5 - but at least that’s something you can work around.

    But there’s plenty in that article that are only problems because the writer made them problems. Every language lets you make mistakes, markup languages aren’t any different. It’s not a bad thing that you can write strings without quotes. It’s not forcing you to do so. Anchors also make it simple to reuse YAML and they’re completely optional. The issue with numbers (1.2 stays as 1.2 while 1.2.3 becomes "1.2.3" is very nitpicky. It’s completely reasonable for it to try to treat numbers as numbers where it can. If type conversion is that big of an issue for you, then I really doubt you know what you’re doing.

    On top of all this, YAML is just a superset of JSON. You can literally just paste JSON into your YAML file and it’ll process it just fine.

    I’m not saying it’s perfect, but if you want something that’s easy to read and write, even for people who aren’t techy, YAML is probably the best option.


  • It doesn’t have to be fire stations. But they are commonly used for a few good reasons.

    They’re relatively ubiquitous. It shouldn’t be hard for someone to locate a fire station. They’re almost always staffed 24/7. They’re trained on basic first aid. Quite often, they’ll even have medics on staff.

    Very importantly, though, they don’t have a lot of people coming in and out of them. One of the big benefits of this program is that there are zero questions asked and it’s as anonymous as you wish. The people who use these are often afraid they’ll be judged as a failure. The lockboxes have a built-in time delay so you can leave before the station is alerted.