Hacker Newsnew | past | comments | ask | show | jobs | submit | more _phaq's commentslogin

I appreciate the vigour, but it's probably easier to just use an ad blocker: https://f-droid.org/app/org.blokada.alarm


An adblocker keeps you from being exposed to an advertisement. This means you'll be adding zero value to the ad. What I'm talking about is a boycott, and you'll add negative value to it. I find this much more effective, and again, it has had no discernable negative effect on my life. I research to find the things I need. Word of mouth is more powerful, and gives more value to people's opinions.


Just get a written permission from all of your contacts that you're allowed to upload their data to WhatsApp, like the rest of us clearly have.

Or make it so that no one has anything against you ever. Because people have been sued already for uploading their contacts' information to WhatsApp without permission.

I really don't want to encourage you to use WhatsApp, but one possible solution would be to use this app: https://f-droid.org/app/opencontacts.open.com.opencontacts

It's a separate store for your contacts, so that you don't have to use the Android contacts implementation where every app and their mum wants access to.

However, mind that WhatsApp is not going to be particularly user-friendly whether you do this or block access to the contacts in newer Android versions. It won't display people's names until they've chatted to you (and then only in a shitty secondary GUI), so you will often have to guess from their picture who they might be.

And worse still, there's no way to initiate a chat from within WhatsApp to someone who's not in your contacts.

Thankfully, there's an app for that nowadays, too: https://f-droid.org/app/io.github.subhamtyagi.openinwhatsapp


That last part was the big pain. They had to add me when I had it on the newer android but that phone died. Thanks for the empathy.


Isn't exporting a contact list a violation under GDPR? Contact names and their phone numbers are a personal information and the app must get that person's consent to process their data.


Let me put it like this: I consider it only a matter of time before a lawsuit for this completes and Facebook has to pay a multi-million dollar fine. A lawsuit against WhatsApp was filed in the night that the GDPR became active: https://noyb.eu/4complaints/

The lawsuit is not just for this matter, it's rather because users were forced to consent to the privacy policy in order to continue using the services, which is very hard to justify under the GDPR, but I presume/hope, they will also look into what WhatsApp wanted users to consent to and how they presented it (89 screens full of legalese).

In theory, there is some clause in WhatsApp's terms of service which requires every user to get that written permission from all their contacts that I joked about.

One actual thing that WhatsApp will be able to cling to, is that they do have a 'legitimate interest'. Without uploading these contacts, their service would not anymore grow at even just half the pace.


It's definitely true that Mozilla needs funding beyond what users are willing to donate. Especially with other 'free' browsers available. But all scandals that I'm aware of were nonsense that journalists wanted to believe, in order to land the next big "the good guys are actually evil"-story.

A more privacy-friendly default search engine is clearly the elephant in the room, but their other financing strategies have been done to try to supersede that and to my knowledge did never infringe on privacy. If you feel different about one of them, please read up on it. There's been a lot of misinformation out there.

Mozilla would make themselves liable to prosecution, if they were to simply violate privacy without a very good reason, as privacy is an explicit goal of their legally-binding non-profit mission statement.

Having said that, there is a good reason why Mozilla has to compromise in terms of privacy. And that is webpage owners' interests.

Webpage owners want to track you. And they can opt to not support Firefox, if they can't track you. Which is kind of bad for Firefox and ultimately for Mozilla's mission, which is making the web a healthier place, for which they need Firefox even just as a second implementation of the web standards.

So, yes, they do have to balance out webpage owners' interests and yours. And yes, they cannot give you as privacy-friendly defaults as some of the browsers that don't have to care about webpage owners' interests. If you're a tiny Chromium fork, no one's going to block you, because mother Chrome is absolutely lovely to webpage owners.

But you should notice that Mozilla gives you the tools to fix the defaults and goes to great lengths to be privacy-friendly when webpage owners are not involved.


Every year is lost ground:

1. Your conception of a modern browser is what surveillance&brochure dotcoms want it to be. "Tools to fix the defaults" doesn't fix this.

2. The anti-user facilities in your browser that are now expected are what dotcoms wanted. Taking them away will be harder than saying they couldn't have them in the first place.

3. The now-massive complexity of browsers (to provide features and directions that the dotcoms want) is also a barrier to engineering and improvement, and also keeps out upstarts.

4. Dotcoms couldn't always afford to block Firefox.

With the now small market share, Mozilla might be a charity case, or it might be an antitrust buffer case. I'd favor Mozilla adopting a public interest charity model, and taking PR money from big corps (among other sources) in exchange for a sponsor logo, but not selling its users in any way.


In my opinion, that is not really separate.

Pretty much all companies constantly whip their employees to get things done as fast as possible. And if that definition of "done" does not explicitly contain interoperability, then even the most well-intending employees will drop that sooner rather than later.

Which is the case for any side-goal. Security, code quality, documentation, tooling, test coverage etc. If you only prioritize one thing, other things will be neglected, unless you put explicit checks in place.

Which is why we have people whose job it is to manage these things. And if those managers failed to put checks in place, then we are back at either incompetence or malice of those managers.


I think, the major appeal of it is that it does everything.

Lots of "productivity"-applications are either TODO-lists or meant for note-taking or good for writing down concepts or are knowledge bases.

But you can't really separate these. Often I'll write something down and later realize that I need to do xyx for that. Or that I want to schedule a reminder for this note.

Other times I write something down just to have it written down somewhere and I won't want to see it again until months later. But if I just write it into a random .txt-file, I'll probably never see it again. With it being in the same place as my other notes, todos etc., I will actually find it again.

And other times, you might have this dumb idea for a thing. And then you add some more ideas to this idea. And before you know it, you've written down the entire concept for your next software project in your notes-application. When this happens to me with OrgMode, I really don't mind. Its plaintext-format is just as readable as MarkDown for this use-case. I might very well stick this OrgMode-file into the software repository.

Also, sometimes I will find an article to something in my software project concept and want to note it down there with a reminder to actually look at it. OrgMode allows me to do that.

Eventually this becomes a lot of information in one place, but OrgMode itself has lots of tools to organize that: tags, priorities (from A to whichever letter you like), notebooks (=different files), states (e.g. TODO, DONE, NOTE, and again whatever you like), scheduled times, deadlines, recurring tasks etc.

And then there's obviously also parsers like the one in this post. They can do whatever they want with the plaintext you have there.

Personally, I mostly use the Android-app Orgzly. It has a widget with a simple DONE-button for my TODO-usage. It can throw notifications at me. And it has a really powerful search-feature, allowing to save specific searches and for example select them as the listing to display in the widget. E.g. I only want to see notes with the state "TODO" that are scheduled within the next three days.

I will admit that it's a bit of a rabbit hole, but task/note management in general usually is and this feels better than my previous solutions.

Especially also the fact that it is just plaintext-files that I can sync and backup easily.


Perfect—thanks!

Yeah, my current, main ideas txt file is something called "movies to watch.txt" —which does start with a list of movies, but then I added some random extended thoughts there temporarily and it has grown massively since.

So yep, I may be a good candidate for using OrgMode ;)

I tried out a demo of Notion (https://www.notion.so/) not long ago and was pretty impressed by their editor (similar concept to OrgMode, but wysiwyg, which I prefer if it's done well). It's actually really good (annoyingly you have to give an email address to try, and their other info. isn't nearly as informative as just trying it for a minute)—but I can't bring myself to use it because of the platform lock-in aspect. I want the data stored in a local file and that's it.

Edit: looking a little more though (was watching a video of table creation in OrgMode), I think the emphasis on editing plain text is going to be too off-putting for me: I do want a simple local file that multiple programs could work with, but the text editing required for OrgMode seems way too cumbersome unless you're already an emacs devotee—which I'm not (largely because I've had RSI issues, and rumor is emacs isn't the most ergonomic text input style).


> but the text editing required for OrgMode seems way too cumbersome

If you don't like key-chords then Emacs probably won't work for you, but just in case the video you watched wasn't clear about it, most of the markup is handled pretty much automatically by Emacs. Table creation and editing in particular works pretty much like in a graphical application. For example, if you want to create a table like

    | foo | bar | quux | qwerty |
    |-----+-----+------+--------|
    |  10 |  20 |   30 |     40 |
    |  50 |  60 |   70 |     80 |
All you need to do is insert the first row with the vertical bars to separate fields,

    |foo|bar|quux|qwerty
Then hit `C-c RET` and Emacs turns it into

    | foo | bar | quux | qwerty |
    |-----+-----+------+--------|
    |     |     |      |        |
with the cursor ready on the first cell under `foo`. Then you can just write the value and use tab to move to the next cell like in any spreadsheet program. Emacs will add new rows as needed and adjusts the table formatting automatically as you move to the next field (or when you hit `C-c C-c` if you don't want to move).

There are typical table editing commands available like moving, deleting and inserting columns or rows with [shift+]alt+arrows.


Ah, thanks! That actually is better than what I inferred from the video.


Yeah, just to cheer you on, if you are using Emacs just for Org mode you really can just learn the Org mode commands and use the editor just like you would any other insert mode editor. If you want to do complex editing, then it helps to know Emacs.

However, Evil mode now works pretty amazingly right now if you like Vim. I use Emacs with Evil and Vim practically interchangeably. My biggest frustration is a bug (which is probably unfixable) with how undo doesn't always correspond with a vi command. There are some details with how buffers are specified, etc, but you can customise it to get close.

Spacemacs is a pre-setup Vim setup for Emacs using Evil mode which is highly recommended, though I haven't used it (I like minimal setups). I don't know if anyone has ever setup edit-mode key bindings for Org mode, but I just use the Emacs ones (I was originally an Emacs user before switching to Vim... and then back to Emacs :-P )


Those are interesting ideas. I'm actually not a Vim user either, but it at least has been at the back of my mind for years to to get around to learning. So there's a chance that may work.

I've also been thinking for a couple hours now about how much work it'd be for me to write a small app with the minimal feature set that I'd like from org-mode :) This is almost certainly a terrible idea for me to do in the context of the rest of my life right now.

Using Emacs just for org-mode is actually a pretty appealing option to me considering the description you gave. So I may give that a shot. Thanks!


One of the nice things about Evil/Spacemacs (maybe spacemacs-specific?) is that when you press one of the keys, you get a very useful screen with many of the commands (and then potentially sub-commands) you can issue.

Even as a years-long Vim user it taught me some new tricks.


For the iOS users I can recommend Beorg (https://beorgapp.com/).


Servo is nowhere near production-ready and there's no reason to assume that it will be anytime soon.

Just consider that Mozilla is pretty much working full-pelt on Gecko and merely keeping up with Google. They (as well as Google) are far away from implementing all currently specified web-standards, of which more get specified all the time.

So, in order to get Servo to the level of current browser engines, they would have to have an even higher developmemt velocity, while not really being able to stop developing Gecko in the meantime either.

Maybe if the majority of components someday are shared between Gecko and Servo, they might do the final step and switch out the core completely, but even that is still far away.

Servo is specifically a research project. To explore what could be done, if one were to do things right. That they were able to isolate and share components, that even came as a surprise to Mozilla.


Servo, while a research project, is also a place to build the fastest possible implementation of a browser (w/o full backwards compatibility), then crib the best performing parts and move that into mainline Firefox (what Project Quantum is, a metered replacement of Gecko).

Swapping out the jet engine of Firefox in flight (Gecko) was likely to be a very bumpy, messy road, thus Mozilla has chosen to break the problem down into manageable chunks by having a parallel team build Servo and push the bleeding edge of performance & features, while having another team break the new code (Servo) and the old code (Gecko) apart into the separate , interchangeable pieces, then clean up standards compliance in the new Servo module and prep it to be replaced.

Essentially, its the Cathedral vs the Bazaar all over again. Microsoft Edge was a ground up rewrite of most of the browser (the Cathedral model of software dev) along with Android (built behind closed doors at Google, then code dumped right before a new major release). Mozilla didn't like how this model could easily backfire, choosing a more metered approach by developing smaller, swappable components in the open.

https://wiki.mozilla.org/Quantum


Also, Servo isn't a general-purpose browser project anymore at Mozilla. It's part of the "Mixed Reality" department:

https://blog.servo.org/2018/03/09/servo-and-mixed-reality/


Yeah, and with FOSS this is all the more important. No one is going to play your game, if it's not fun. Few people are going to play your game, while it's not yet in some tangible way better than DF.

And if people don't play your game, they're not going to contribute to it.


Actually consented, as in understood the implications and freely decided that Google should have this data, probably none. That would take a lot of generosity, especially to pay that team of lawyers and technical experts, so that you have any chance of actually understanding the implications.

Unwillingly consented, that's the vast majority of Chrome Sync users. Unless you enable the end-to-end-encryption (for which they require a second passphrase, so probably less than 0.1% actually use that), they will use your data for ad profiling etc.. Yes, that is on page 1312 of the Chrome Sync privacy statement. (They're only required to write it into there, if they do it, so it is quite certain that they didn't just want the bad PR for nothing.)

Is consent required? Assuming they actually do collect this data from their Chrome Sync data or through similar personally identifiable ways, consent would be required in many jurisdictions, especially the EU.

However, if they cared enough, it would be possible for them to collect this particular data point without personal identification. You could for example create a UUID per installation that's only associated with this one data point. Or you could have a time-based solution where each Chrome instance goes out to "vote" for their default search engine e.g. every 4 weeks. If you then look at the statistics on a weekly basis, you can just take these values times 4 to even roughly correct numbers. It's certainly going to be representative enough, you don't need every browser instance to have their vote in every week's statistic.


Look at the linked patch.

These metrics are from UMA stats. They are collected from everyone who ticks the box to report stats when installing Chrome.

They only get histograms of counts of visits to search engines, not the entire URL, and not search engines or other sites not in the list of things they track (which is at the bottom of the file).


It is ticking that box I was wondering about. How many users tick it?

chrome://chrome-urls/site-engagement

and other chrome-urls

These can provide useful data for me but not sure why I would want send the data to Google.


So that Google can make Chrome render fast on the sites most people use the most often, for example?


Well, the first question is why are the pages rendering slow to begin with?

One way to make the pages I visit load faster is to disable Javascript. Another is to remove (or block) advertising. Another is to put DNS data for these sites into local hosts or zone files.

Those actions are how I prefer to approach the problem.

However as far as I can tell, those are not actions Google wants to take. They have their own preferred approach.

It is possible there are users who are aligned with Google in terms of how they want to approach the problems created by misuse/overuse of Javascript and advertising.

It is also possible there are some users who have no idea why pages are slow to load.

Those groups might want to send usage data to Google.

However I am not in either group. I dislike the web advertising business that Google depends on and therefore must nourish and support.

As such, there is no reason I can think of why I would want to send data to Google.

Also, I have not checked but I wonder if Google is restricted in how they can use the collected diagnostic data. Are they prohibited from using it for the purposes of selling advertising?


Usage data helps us make UI changes. For example, if not a ton of people are using some functionality, we might prioritize modifying or removing it. When we make a change, seeing how it affected usage is an important part of verifying we did the right thing.

So if Chrome's ever made a UI change you disagreed with, then you're in a group that would have benefitted from sending Google usage data.

In terms of the restrictions on usage data, see https://www.google.com/chrome/privacy/whitepaper.html#usages... .


Having grown tired of graphical software back in the 90's I have little interest in graphical user interfaces and interactive use. Chrome has never made a UI change I disagreed with because I do not care about the popular graphical browsers.

I care about command line programs, less-interactive and non-interactive use. Truly, the best interface is no interface.

The whitepaper.html appears to explain how usage data is utilised in ways that help Chrome improve but does not appear to contain any restrictions on use of the data to help further Google's ad sales business, whether directly or indirectly.

It is the business model that I do not wish to support.

Producing software such as Chrome is just something the company is doing in the course of selling advertising and collecting maximal amounts of data from users, whether the data is anonymised or not.


The trick with this material is that it pretty much reflects sound waves. On the way back, these reflected sound waves then crash into the upcoming soundwaves and they cancel each other out.

Headphones with active/acoustic noise cancelling use the same trick, except that they pick up the upcoming sound waves with a microphone and then use a speaker to generate those "reflected" soundwaves.

Actually-reflected soundwaves cannot be as strong as the upcoming soundwaves, so they're never going to fully cancel out the noise. Those generated soundwaves can.

One point is that there's most likely less latency for a soundwave to get reflected vs. picked up by a microphone and then generated by a speaker. However, to my knowledge our human senses have even more latency than both of those, so I don't think that matters.


Don't extrapolate our slow reaction time to mean more than just that! :) Low latency still matters. Think about latency when scrolling/dragging on a touch screen for example. There's a large difference in feel depending on latency, even if the latency is lower than your reaction time.


The latency in the active noise-cancelling systems is a few milliseconds, mostly due to processing time.

That's why they are less capable in filtering non-repetitive noises like speech, especially their higher frequencies.


This is a very bad meme that's been propagated so much across the internet.

1. The latency is active noise cancelling systems is very low; much less than the frequency of most sounds.

2. Noise cancelling is ineffective at higher frequencies because the space between the speaker driver and the ear becomes large enough that the destructive interference becomes imperfect.

3. The feedback has to come from somewhere, and once the frequencies become high enough, the phase shift caused by the physical distance between the driver and microphone start to affect the feedback loop.

4. Because of these issues at higher frequencies, they just lower the feedback gain at higher frequencies. This effectively makes the active noise cancellation system be not sensitive to higher frequencies.

5. This is very much akin to frequency compensation in other topics like buck converters and op amps--the additional phase shift in the feedforward path that often increases as frequency goes up becomes problematic to compensate, so they just make the feedback loop insensitive to that region.

-----

the quick way to debunk this is two tests:

1. Play some bandlimited noise (https://www.youtube.com/watch?v=5qV5j9wD5e8) really loudly and I guarantee you any shitty ANC headphone will cancel this out just fine. Noise by definition is non-repetitive.

2. Play a high frequency sinusoid (https://www.youtube.com/watch?v=TRKB5kWs7KE) really loudly and it will go straight through any ANC headphone. A sinusoid is as repetitive as it gets.


Firefox has still some clear advantages over Brave, thanks to owning their engine.

A trivial example is the battery API. It's nowadays mainly used for tracking, but is an official webstandard. Mozilla decided to fuzzy it, so it lost its usefulness for tracking. Google didn't.

And I imagine, there's hundreds of similar examples at this scale, which as an average user you'll just never hear of.

One bigger feature is Firefox's Containers. It's based on work from the Tor Browser. Which also just illustrates what this partnership sometimes brings forth. Tor Browser is going to always be there, checking the Firefox code for privacy problems, and will suggest better ways of doing things, which Mozilla can just adopt.

For Chromium, there exist in principle similar efforts, like Brave, Iridium Browser, ungoogled-chromium, but these will always fight an uphill battle against Google and obviously Google isn't going to adopt and maintain their fixes.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: