HN user

dgrcode

68 karma
Posts5
Comments43
View on HN

Thanks a lot for investigating this further. I'll write a cleaner blog post to alert other potential victims. From the package downloads they're hacking around 200 people per week, just with `json-mappings`. I've definitely would have fallen myself if it wasn't for the few red flags they didn't even try to avoid.

How old was alphabet in 2024? And anthropic?

How much was google revenue in 2003? It was 1.5 billions (2.6 in today's USD)

Not saying the price is justified, but the comparison is not very fair.

It's a shame that modern browsers don't optimize SVG to be processed in the GPU. It has plenty of potential, not only feTurbulence, but many other effects as well. And being able to use SVG masks on standard HTML elements would also open a bunch of creative opportunities.

Unfortunately, as you say, it's very easy to freeze a GPU if you start doing more complex SVGs.

My wife recently got her O1 visa approved and I'll be getting an O3 as dependent. I currently have an app that I'm actively developing that generates $50-$100 per month. I might be able to stop development, but at the very least would need to support the customers. I also have some product ideas I'd like to build and potentially monetize.

What are my options?

Gumroad is infamous for underpaying and using cheap labor where possible.

What? Where do you get this from? It's quite the opposite.

So the only argument is that the token window is a disadvantage for languages that use more tokens for an equivalent program. But token windows are only getting bigger, and there's also no need to fit the entire codebase in a single prompt.

If anything, it sounds like ruby on rails should've been _the past_ of AI. But it clearly wasn't.

From my research to write the post, it looks like: - the HFP standard was developed mainly for taking calls in a car. It seems like taking calls is still the main use case up to the latest version 1.9,

- macOS switches to HFP whenever the bluetooth headset is in use for both input and output. Interestingly, using the bluetooth mic and macbook speaker doesn't activate the HFP,

- bluetooth in general (not just HFP) seems to be designed to work under the constraint of tech from 20 years ago. Small bandwidths, small batteries, and small computational power,

- there are very nice codecs like Opus that are not used even though they've been working for over a decade.

From there I think the main problem is: - macOS should not assume you're in a call just because you're using the mic. There are a few scenarios where that's not the case and you might not care about low latency,

- better existing codecs should be used, but aren't for some reason,

- bluetooth specs should update the constraint they have to work under.

I have the pixel buds A-series, and using my pixel 7a I can feel the quality going down when on a call. It might be just the latest buds, or my pixel 7a not supporting the codec, or the HFP not being set to use it ¯\_(ツ)_/¯

I actually didn't know about Opus, but having read a bit about it, how aren't we using that codec for all things audio? It's open source, has good platform support, quality seems to similar to AAC, it could be used for HPF. What's stopping the adoption of Opus in Bluetooth standards?

I tried this as well and didn't work for me. Maybe it works for other people?

When I connect my headphones and switch to the microphone, the same crappy sound comes up. I had tried before with the checkbox in the bluetooth explorer to disable HFP, but also didn't work.

Ouch. I'm sorry about this. I've had users on Sonoma report this. It seems they made it harder to make Gatekeeper happy. I'll reach out to your email directly to figure out how to fix it.

Again, sorry about that.

This made me think about the mic on my $300+ headphones. It's probably even a good mic. However, because they will only be used via bluetooth, it will most definitely be used under a HFP mode, which means that a probably decent audio signal from a probably decent mic gets completely destroyed. Nice.

Yep that's another one that has improved significantly over the years.

I charge my headphones once per month, maybe twice. I'd gladly charge them once per week if that means I get nice audio in and outside calls.

This is the exact use case I have, and the frustration of not being able to select what I want made me create the app. I'm really surprised this functionality doesn't come with the Mac, but I couldn't find a workaround that didn't involve a manual switch somewhere.

Yes, with the A2DP profile (high quality music) things work good enough for me not to notice. Maybe you could hear some differences on a side to side comparison, but it's good enough.

The real problem comes with the HFP profile. Lack of decent codecs, and bandwidth limitations of Bluetooth make it really hard to solve. Not to mention the vast majority of devices you own can't upgrade codecs, or just won't because there aren't incentives.

I agree improved codecs is one of the solutions. I think other solutions could appear if Bluetooth wasn't restricted to a 3Mbps bandwidth, which seems to me –I have no information on this– it's a very outdated constraint.

I mean, 4G has existed for over a decade and it supports 100Mbps bandwidths. With that bandwidth it could use uncompressed audio and support stereo for both output and input.

Regarding LC3, I've read people complain that it forces the Bluetooth Low Energy, removing a few features like multi-point connection and a few others.

Is this device able to wake this Mac from sleep? Do you mean my app? It doesn't change the wakeup behavior. For my Mac that means it'll wake up when I turn on my bluetooth headphones.

If both these headphones are connected, what heuristic should be used to select the input/output? My app remember your choice for a given group of connected devices. That means that, if you haven't chosen anything, the default behavior will take place. If you select one of them, it will remember the choice and auto-switch to that one when the same group of devices is connected. I hope it makes sense.

To be honest I haven't used SoundSource myself, but one of the early users of the app I made talked me about it. He mentioned he could select the input/output devices and Mac wouldn't change them when connecting a bluetooth device, as it does by default.

It's not exactly what my app does, but I thought it could fix the auto-switch for many users.

I'll definitely update the post if SounceSource cannot be used to fix the auto-switch. Thanks for the heads up!

100%

From what I've read in the last few days researching to write the post, it feels like Bluetooth was designed under some constraints 20 years ago, and it keeps using the same constraints today.

Also, the companies listed in the HFP specification don't make me think they're trying to optimize for the actual phone call scenario, not using a bluetooth headphone with your laptop.

Yep, I forgot to add it and I'll update the post providing that option.

The reason I didn't add it is because I tried it and didn't work for me, so I just forgot it was even an option.

Thanks for the heads up!

I didn't know about the AVCTP, but I completely agree on the possible alternatives Bluetooth could use.

From what I've read in the last few days researching to write the post, it feels like Bluetooth was designed under some constraints 20 years ago, and it keeps using the same constraints.

For example, it's unreal to me that the bandwidth for a Bluetooth connection is around 3 Mbps when we've had 4G with 100 Mbps for over 10 years, let alone 5G at 20Gbps.

And yes, the codecs in the firmware is really bad, although very convenient for the companies selling devices I guess. There aren't enough incentives there for the change.

I did a deep dive to understand why sound quality is really bad –or reduced, as Apple puts it– when using my bluetooth headphones.

I read through Apple's documentation, Bluetooth standards, and Wikipedia articles for different codecs, and I tried to summarize my findings in this post. The post talks about Mac, but it's probably relevant to other OSs as well.

As a disclaimer, I want to state that I've made this investigation for fun, learning, but also profit. I'm working on a Mac app that aims to help with the audio quality when using bluetooth headphones. I decided to work on this project out of frustration, probably shared with more people here, and that's why I'm submitting it.

I hope you find it interesting.