Over in Debian, the analogous source of data is the popcon package popularity survey.
It’s opt-in, default out.
Nobody concerned with privacy ever turns it on.
Nobody doing an install of lots of servers in a datacenter ever turns it on.
As a result, popcon statistics show that all Debian installs are on laptops and a few desktops, with very few installs of packages that provide services. If all the machines I oversee for work leaked data this way, I can spot (with 3 minutes looking) several packages where we would increase the number of installs by a factor of 2, 5, or 100. My employer is not a large company - 30ish employees.
And it’s completely understandable. Companies and organizations have again and again proven that they can’t be trusted with data. By now it’s not a question of facts, but only emotions. (I know Debian is a bad example here, but very often even the developers would be against mass-collection of data, but the marketing team will. I’ve seen that first hand, so this would mostly apply to commercial software).
What I personally don’t get is why there is hardly any “hey, we dumped the telemetry data on disk, have a look at it and then send it”. Sure, it would take a few minutes but then you’d actually see the payload, and at least for me that would increase my willingness to do it. I think one of the BSDs did this at some point? Was a bit of a pain to do, but I was happy to do it. Whereas I decline every “can we enable telemetry” every time. I think “can we send telemetry now, once” I would accept a lot more often.
I have a usb dac + amp setup I use for listening to music — one of those fancy ones that does 32bit audio at 384khz. It says 384khz on the LED screen when I use alsa but 44.1khz if I use pulseaudio. I don’t think I can tell the difference, but it has a convenient volume control knob and I like using it to listen to music or video links, and the volume setting is usually quite high so I really do not want unexpected audio to come out of it.
I also have a separate wireless dect headset that I use for zoom/googlemeet/teams/WebEx/etc. My attached Bluetooth pretends to be an audio device for my iPhone so I can use it for telephone calls. When I’m not in calls it is on a cradle and it auto-mutes so unexpected audio is less traumatic than with the dac.
The motherboard has an on-board audio I have hooked up to a tiny travel speaker. I use this as my ringer device in Skype and I have some scripts that put notifications on it for things that don’t understand wanting a different audio for ringing and teleconference.
Getting this to work with Alsa has been fairly straightforward but I don’t know how to make pulseaudio do anything except send the sound to the wrong device for a few minutes while I click around a menu looking for which of the hundred or so “Firefox” streams is the meeting I’m trying to join. (I have Firefox treetabs with nearly a thousand tabs open at the moment. Probably a hundred of which have an ad on them trying to open an audio stream — which thankfully Firefox automutes but it still shows up in pulseaudio “just in case”)
That being said, I am open to the possibility I’m using pulseaudio wrong, and there is some feature valuable enough to be worth figuring it out, so just curious, why do you use pulseaudio?
PA can do a lot of that, but its interface is a bit… weird. (As you’ve discovered) If you ever want to try again, pipewire is pretty much replacing PA and it’s pretty sane. It allows you to use the jack tools and connection graph which makes all the reconnecting close to instant and you get full control over the links. And you can operate on stream names in scripting rather than weird interface IDs. For BT the big item is full control over the profile / codec of the device, which pulse doesn’t really do.
It exposes alsa, pulse and jack interface at the same time, so pretty much everything is still compatible. It’s still fresh enough that you want the latest release rather than the distro version though. Pulse is on its way out, so I wouldn’t invest too much time into it now
I really do not want unexpected audio to come out of it.
What did you mean by this? Under what circumstances might a USB DAC+Amp play unexpected audio?
For context, I have the same setup as you (USB DAC+Amp+volume control) and it sometimes outputs noise. I’ve been trying to debug it for months with no luck so I’m just looking for ideas at this point.
I mean I want to be explicit when I want audio to come out of the big speakers, as in by environment variable or something, rather than playing something, pausing, then navigating some menu to change the audio, then resuming.
That sounds terrible. I have a line in modprobe.d/ to set the index= and enabled= options of reach of the usb sound devices. I also set the index on my motherboard audio the same way. I don’t have any other special settings. As I mentioned, I don’t use pulseaudio, but I also don’t have jackd or anything like that either.
Have you poked around /proc/asound/cardX/pcm*/ to see if what linux is sending matches what your device is decoding? How have you verified this isn’t on the analog side?
Thank you for the advice and for sharing more information about your setup. I have not looked at /proc yet - I shall spend some time this weekend going down that rabbit hole.
In my case, the main feature of ALSA that pulse lacks is the ability to play audio reliably without randomly telling me that my sound card no longer exists two to three times a week.
I bet this was posted for this exact reason. And I so much support its message. Asking distros also wouldn’t have helped, they probably would’ve told you only that they can’t run without it - but not how much percent of your users and thus how worth the maintainership cost is.
I remember talking with someone involved in this decision and one of the factors they mentioned was that on the bug tracker, conversations about pulse happened a lot more frequently than conversations about alsa.
This decision seems like the inverse of survivorship bias; none of the alsa users made noise on the bug tracker because alsa works perfectly every time, and pulse users seem over-represented because their sound stack is a mess. It’s like that WWII story where they looked at the bullet holes in the planes and added armor to the places that didn’t need it: https://en.wikipedia.org/wiki/Survivorship_bias#/media/File:Survivorship-bias.svg
This is a time of change for the internet and for Mozilla. From combatting a lethal virus and battling systemic racism to protecting individual privacy — one thing is clear: an open and accessible internet is essential to the fight.
Literally none of that is the job of the browser. The job of the browser is to render web pages. The job of the open source browser is to render web pages using a completely open stack that anyone can modify and distribute without requiring permission. Individual privacy is a nice to have, but one that’s best solved in addons, or simple patches. Something that Mozilla has made between impossible and very hard for third parties to do.
Mozilla is killing Firefox.
Looking at what’s happened to it over the last 10 years is like giving a rock guitar to your father when you leave for university and coming back to a banjo.
People completely out of touch, making decisions about products they don’t understand, because the people who they want to work for did it that way. I don’t understand the parts of open source that want to be corporate, just go work for chrome if you want to be them so badly.
What you quoted was a statement about Mozilla, which has a broader societal mission than just “render web pages”, and historically has used the browser as one way to advance that mission.
The fact that they spun out the Rust foundation but not the Firefox foundation should tell you all you need to know about their societal mission. After all one was making over 95% of their net revenue over the past decade, the other was a rounding error.
Mozilla is a zombie org propped up by Google cash for the sole purpose of being pointed at when Google gets asked about being a monopoly in the browser space.
The rest of it is culture war bullshit to give the people involved plausible deniability for running one of the crown jewels of open source into the ground for their 30 pieces of silver.
So far I’ve stated a preference for an independent branding / identity since programming languages tend to do best when they have the broadest possible community of their own, not a single promoting organization or company. If this is problematic I’m happy to discuss further, but this is why (for example) we have independent domain names (rust-lang.org and such) rather than sub-brands of “mozilla”.
…
A lot of people simply won’t trust languages until they’re clearly outside the control (or even direct-affiliation) of a single organization; say, subject to an international standard (ISO/ECMA or such). We don’t brand JS as “Javascript (by mozilla)”, and rightly so: everyone would steer clear of it. Even if we own the trademark. Choosing to write code in a language is a big bet on the language’s continuity and strategic development, and requires the perception (and reality) of a community larger than a single organization.
IOW, it’s essential to the project’s longevity that mozilla ceases to control it.
It always puzzles me when people complain about Firefox chasing Chrome, as if that were somehow a new development. Firefox has been chasing the flavour-of-the-month popular browser since before Chrome existed and they were copying Internet Explorer 6. That’s the whole point of Firefox — to be like the popular browser but more wholesome, to give users a practical choice.
If you ever thought the point of Firefox was something else, you were misled.
There is a difference between copying features and copying corporate press releases. I don’t see why 2/3rds of the staff of Mozilla seem to be hired for the latter.
Also, seriously, not all features are worth copying. Back in the pre-Chrome days, and even afterwards, Firefox gained lots of users because it had all of the good parts of IE (and some of the good parts of Opera :-( ) and none, or very few, of the bad parts. Getting the bad parts in might amateur product managers happy because the feature checklists now look the same but it won’t make the software better.
If you just try to copy all of Chrome, without the kind of money that funds Chrome development, all you get is a cheap Chrome knock-off.
The difference was that IE was holding the web back, while Chrome is “leading” the innovation. Firefox used to be pulling ahead, while not they are struggling to keep up.
Since it’s worse at stopping adds, has a smaller market share and is in terminal decline it sounds like Google got its moneys worth over the last ten years. And made the web more malvertising friendly.
Over in Debian, the analogous source of data is the popcon package popularity survey.
As a result, popcon statistics show that all Debian installs are on laptops and a few desktops, with very few installs of packages that provide services. If all the machines I oversee for work leaked data this way, I can spot (with 3 minutes looking) several packages where we would increase the number of installs by a factor of 2, 5, or 100. My employer is not a large company - 30ish employees.
And it’s completely understandable. Companies and organizations have again and again proven that they can’t be trusted with data. By now it’s not a question of facts, but only emotions. (I know Debian is a bad example here, but very often even the developers would be against mass-collection of data, but the marketing team will. I’ve seen that first hand, so this would mostly apply to commercial software).
What I personally don’t get is why there is hardly any “hey, we dumped the telemetry data on disk, have a look at it and then send it”. Sure, it would take a few minutes but then you’d actually see the payload, and at least for me that would increase my willingness to do it. I think one of the BSDs did this at some point? Was a bit of a pain to do, but I was happy to do it. Whereas I decline every “can we enable telemetry” every time. I think “can we send telemetry now, once” I would accept a lot more often.
Firefox’s lack of alsa support is the sole reason I still have chromium installed on my machines.
Have you tried apulse?
I settled for pipewire.
Pulse apps work, jack apps work.
I tried using that, seems to break on suspend+resume, requiring me to kill and restart firefox.
Just curious, what sorts of things does ALSA support allow you to do?
I have a usb dac + amp setup I use for listening to music — one of those fancy ones that does 32bit audio at 384khz. It says 384khz on the LED screen when I use alsa but 44.1khz if I use pulseaudio. I don’t think I can tell the difference, but it has a convenient volume control knob and I like using it to listen to music or video links, and the volume setting is usually quite high so I really do not want unexpected audio to come out of it.
I also have a separate wireless dect headset that I use for zoom/googlemeet/teams/WebEx/etc. My attached Bluetooth pretends to be an audio device for my iPhone so I can use it for telephone calls. When I’m not in calls it is on a cradle and it auto-mutes so unexpected audio is less traumatic than with the dac.
The motherboard has an on-board audio I have hooked up to a tiny travel speaker. I use this as my ringer device in Skype and I have some scripts that put notifications on it for things that don’t understand wanting a different audio for ringing and teleconference.
Getting this to work with Alsa has been fairly straightforward but I don’t know how to make pulseaudio do anything except send the sound to the wrong device for a few minutes while I click around a menu looking for which of the hundred or so “Firefox” streams is the meeting I’m trying to join. (I have Firefox treetabs with nearly a thousand tabs open at the moment. Probably a hundred of which have an ad on them trying to open an audio stream — which thankfully Firefox automutes but it still shows up in pulseaudio “just in case”)
That being said, I am open to the possibility I’m using pulseaudio wrong, and there is some feature valuable enough to be worth figuring it out, so just curious, why do you use pulseaudio?
PA can do a lot of that, but its interface is a bit… weird. (As you’ve discovered) If you ever want to try again, pipewire is pretty much replacing PA and it’s pretty sane. It allows you to use the jack tools and connection graph which makes all the reconnecting close to instant and you get full control over the links. And you can operate on stream names in scripting rather than weird interface IDs. For BT the big item is full control over the profile / codec of the device, which pulse doesn’t really do.
It exposes alsa, pulse and jack interface at the same time, so pretty much everything is still compatible. It’s still fresh enough that you want the latest release rather than the distro version though. Pulse is on its way out, so I wouldn’t invest too much time into it now
Thanks for replying.
I’ve read this and some of the deeper pages, but to be honest it still seems quite mysterious to me. Do you have any good resources?
What did you mean by this? Under what circumstances might a USB DAC+Amp play unexpected audio?
For context, I have the same setup as you (USB DAC+Amp+volume control) and it sometimes outputs noise. I’ve been trying to debug it for months with no luck so I’m just looking for ideas at this point.
I mean I want to be explicit when I want audio to come out of the big speakers, as in by environment variable or something, rather than playing something, pausing, then navigating some menu to change the audio, then resuming.
That sounds terrible. I have a line in modprobe.d/ to set the index= and enabled= options of reach of the usb sound devices. I also set the index on my motherboard audio the same way. I don’t have any other special settings. As I mentioned, I don’t use pulseaudio, but I also don’t have jackd or anything like that either.
Have you poked around /proc/asound/cardX/pcm*/ to see if what linux is sending matches what your device is decoding? How have you verified this isn’t on the analog side?
Thank you for the advice and for sharing more information about your setup. I have not looked at
/proc
yet - I shall spend some time this weekend going down that rabbit hole.In my case, the main feature of ALSA that pulse lacks is the ability to play audio reliably without randomly telling me that my sound card no longer exists two to three times a week.
This is a good contrast / note on the Audacity analysis issue.
I bet this was posted for this exact reason. And I so much support its message. Asking distros also wouldn’t have helped, they probably would’ve told you only that they can’t run without it - but not how much percent of your users and thus how worth the maintainership cost is.
I remember talking with someone involved in this decision and one of the factors they mentioned was that on the bug tracker, conversations about pulse happened a lot more frequently than conversations about alsa.
This decision seems like the inverse of survivorship bias; none of the alsa users made noise on the bug tracker because alsa works perfectly every time, and pulse users seem over-represented because their sound stack is a mess. It’s like that WWII story where they looked at the bullet holes in the planes and added armor to the places that didn’t need it: https://en.wikipedia.org/wiki/Survivorship_bias#/media/File:Survivorship-bias.svg
Literally none of that is the job of the browser. The job of the browser is to render web pages. The job of the open source browser is to render web pages using a completely open stack that anyone can modify and distribute without requiring permission. Individual privacy is a nice to have, but one that’s best solved in addons, or simple patches. Something that Mozilla has made between impossible and very hard for third parties to do.
Mozilla is killing Firefox.
Looking at what’s happened to it over the last 10 years is like giving a rock guitar to your father when you leave for university and coming back to a banjo.
People completely out of touch, making decisions about products they don’t understand, because the people who they want to work for did it that way. I don’t understand the parts of open source that want to be corporate, just go work for chrome if you want to be them so badly.
What you quoted was a statement about Mozilla, which has a broader societal mission than just “render web pages”, and historically has used the browser as one way to advance that mission.
The fact that they spun out the Rust foundation but not the Firefox foundation should tell you all you need to know about their societal mission. After all one was making over 95% of their net revenue over the past decade, the other was a rounding error.
Mozilla is a zombie org propped up by Google cash for the sole purpose of being pointed at when Google gets asked about being a monopoly in the browser space.
The rest of it is culture war bullshit to give the people involved plausible deniability for running one of the crown jewels of open source into the ground for their 30 pieces of silver.
It mostly just implies, to me, that they finally got around to making it official after trying as hard as they could to imply it for years. Here’s what Graydon Hoare said about it back in 2011:
Everything does better when it is run by an org specifically dedicated to it.
Linux is better than XNU because one has the Linux foundation. GCC is worse than LLVM because one is part of the FSF.
Firefox with a Firefox foundation would be a better browser and might even still exist in 10 years time. Firefox as part of Mozilla, less so.
It always puzzles me when people complain about Firefox chasing Chrome, as if that were somehow a new development. Firefox has been chasing the flavour-of-the-month popular browser since before Chrome existed and they were copying Internet Explorer 6. That’s the whole point of Firefox — to be like the popular browser but more wholesome, to give users a practical choice.
If you ever thought the point of Firefox was something else, you were misled.
There is a difference between copying features and copying corporate press releases. I don’t see why 2/3rds of the staff of Mozilla seem to be hired for the latter.
Also, seriously, not all features are worth copying. Back in the pre-Chrome days, and even afterwards, Firefox gained lots of users because it had all of the good parts of IE (and some of the good parts of Opera :-( ) and none, or very few, of the bad parts. Getting the bad parts in might amateur product managers happy because the feature checklists now look the same but it won’t make the software better.
If you just try to copy all of Chrome, without the kind of money that funds Chrome development, all you get is a cheap Chrome knock-off.
In the days of ie Firefox was faster, more stable, had adblock and other extensions. It was the popular browser, not like a popular browser.
The difference was that IE was holding the web back, while Chrome is “leading” the innovation. Firefox used to be pulling ahead, while not they are struggling to keep up.
Yet Firefox remains the only major browser platform with good and reliable ad/javascript blockers that do not get gimped by the host platform.
Yet it’s worse at it than it was a decade ago.
Since it’s worse at stopping adds, has a smaller market share and is in terminal decline it sounds like Google got its moneys worth over the last ten years. And made the web more malvertising friendly.