[1] https://addons.mozilla.org/en-US/firefox/addon/simplewhite/
For the main theme, as long as it's customizable to satisfy the 5% of grumpy people I'm fine with that. The other 95% just doesn't care.
(Disclaimer: as a Mozilla employee, that includes my salary :)
a) the "deal" with Google had never happened, and
b) Microsoft came out of nowhere and began offering to pay what Google is actually presently paying (or, let's say, just for fun, even double or triple that), all while
c) Google were making no offer to start paying
... then Google would still be the default search engine in Firefox, regardless.
The same almost definitely cannot be said today.
Is the default search position in Firefox for sale to the highest bidder?
If Bing today is the better search engine, or if it's slightly inferior to Google, or if your perspective is that when Bing debuted it was terrible and it's even worse today--these are all absolutely immaterial. They have no bearing on the answer to this question.
- which is the technically better search engine?
- which will pay the most money? (gotta keep lights on!)
- which is the one the users actually want?
Google used to check all 3. Then only 2 (Pretty sure Bing would have paid more).
Today? I don't know.
Sadly engines like Duckduckgo probably can't afford to pay Mozilla enough to keep the lights on.
Then, it's another very facile thing, but a person involved with Mozilla today who was involved X years ago differs from themselves by X years of experiences. X years' difference also produce X years' worth of changes in the externalities on a project. For example, what impact did the timbre of HN alone have on Mozilla in 2011? What impact was it having in 2008?
So pick how far back you want to go, and then enumerate events that have happened since then. The establishment of Mozilla Corporation. Key developers exiting the project to go work on what would become Chrome. Working with Google on VP8 before the public announcement at Google I/O 2010. The reality of a company that had a couple hundred employees or so for years and then quickly grew to one that now has 1000+, and dealing with that. The shift in focus from the Internet to a focus on the Web, and coping with a lack of influence on the direction of both. The shift in focus on users to a focus on designers and Web developers. The not-terrible idea but also not-amazing idea to try out directory tiles, then dooming it and destroying all kinds of public goodwill in a single stroke by doing this: < https://blog.mozilla.org/advancingcontent/2014/02/11/publish... >. Coping with a number of other failed projects and initiatives over the years like: Theora+VP8 for free video, BrowserID, Do Not Track and changes to third-party cookie policy, and Firefox OS.
Those are some changes Mozilla has been through.
(Note that this is a list of changes Mozilla has gone through, not a "list of bad things about Mozilla". If I were trying to make that kind of list, there are things on there that I wouldn't have put there, and things that aren't on there that should be. But it's not that kind of a list.)
I'd love to support Mozilla as much as possible, but no way I'm keeping the default Google-search when you have stuff like DDG around.
Hopefully me wanting privacy doesn't impact Mozilla's financials too hard. Firefox + DDG only seems like the most natural combination: both are powerful and privacy-centric.
Disappointing.
The slogan on their page ("Committed to you, your privacy and an open Web") sounds hollow when considering this and their recent support for DRM.
That means they actually need donations for the foundation to run (but its not 800 employees so its much less money). Legally you can't fund the Foundation with the Corporation money - since that would make 2 Corporation and zero Foundation then :)
I don't know if the opposite is possible (send donations from Foundation to the Corporation) but I suspect it has the same problem/effect.
The Foundation is the sole owner of the Corporation. The Corporation pays dividends to the Foundation.
Now the amount of those dividends can't be too much if the Foundation wants to keep its nonprofit status. "Too much" is determined by how much people donate: the restriction is on fraction of money that comes from non-donations.
I do use both StartPage and DDG, although it's more like a 80%-19% split between these two. The remaining 1% is still on Google to get things like news, and Self-Destructing Cookies [1] helps keep things clean on that front.
[1]: https://addons.mozilla.org/en-US/firefox/addon/self-destruct...
There is a reason that Page and Brin are billionaires: their algorithm was absurdly clever.
For example, '!g hacker news' becomes 'https://encrypted.google.com/search?hl=en&q=hacker%20news'.
"I find this better even just for the fact that I don't get the filtered down view of the world anymore - if there are things named similarly than the ones I use in the world, I want to know, so I can adjust my own naming."
It wasn't a loaded question or anything, not sure why I got down-voted either... (shrug)
Take a look at http://dontbubble.us
I've been doing that for a few years now. I only need to log in for GMail, basically. At once or twice a day max, it's not a big hassle at all.
In particular, I find that YouTube is much more useful if you're logged out. At least then the sidebar contains related or similar videos, instead of the stuff I watched last week.
However, how does Startpage make money?
In fact, how does DDG plan to make money?
But soon I'll be moving from iOS to Android, the wonderful land of being able to change your default browser. And I'll be using FF there for the bookmark syncing. Firefox on 2/3 devices ain't bad.
There was a lot of hate over the australis redesign, but I like it better than Chrome.
http://www.zdnet.com/how-the-next-version-of-ie-codenamed-sp...
(Edit: Doesn't look like it. Alas.)
Some people do exist that have Linux desktop / Android smart device as the only computers we can change.
Firefox, Chrome, Opera and others are not so picky about which operating system they run on.
As this is technically a very stupid move, it feels like the only way to interpret this is that Google wants more people giving up privacy, for it to be normal.
Also see: Chrome flips around OK/Cancel in the DNT enable dialog, purely to confuse and prevent users from enabling DNT.
As far as Chrome: go compare. Enable things like spell check, which put up a normal little explanation. Then try DNT, which elicits a scary disclaimer and swaps the OK and Cancel buttons.
Now for surface I hear you - i was sad they discontinued the work for that. Even on touchscreen latpops.
Rust programs are not 'safe' in the sense that they cannot crash or have security bugs, but they are 'safer' in that the compiler automatically performs a series of safety checks to prevent common errors.
1: Widespread meaning OSes and popular platforms, not custom LOB apps where SQL injection exists on the login page.
It is effectively impossible to have an unsafe memory access error in Rust
Please, don't say that. Lets be reasonable. Rust is great, but Rust code crashes and segfaults too, just like any language, programs have bugs, and those bugs can cause program failure.Rust just has less of them, because it has a smart compiler. ...but it's not right to suggest that it has none.
Remember:
There is no way of ensuring that a rust program does not result in a segmentation fault or other memory or race condition as a result of unsafe code.
There is no way of ensuring a rust program does not contain any unsafe code.
There's no way to ensure the compiler is perfect, but rust itself is not capable of certain types of errors.
You can always code the wrong algorithm, but that doesn't mean you can segfault or use after free (in the default safe mode you almost never have an excuse to leave).
You are flat put wrong, and spreading misinformation about it doesnt help anyone.
If you use any rust, and that includes dependencies and the standard library with unsafe code, bugs in the unsafe code can and do cause segmentation faults.
Its easy to say, 'well, thats a bug in the library, not a problem with rust', but thats the same as with C++ isnt it? If you can assert any code is 100% bug free then why do we care about the nice safety features in rust?
What is true is that any 'safe' code path that never enters an unsafe block in rust proveably cannot result in certain types of failures.
BUT every rust program uses unsafe code. In the standard library. In c bindings. In 'safe' pure rust dependencies (with hidden unsafe blocks). In loading dynamic libraries.
Its completely unavoidable.
What are going to do? Vet every line of every part of every dependency in the code you use? Dont be ridiculous.
Do you use rust?
..because practically speaking it does crash. Not often, sure. ...but this falacy that rust is 'provably safe' is absolutely false. Its provably false.
Thats why people saying it is unfortunate; it makes the rust community look like a bunch of clueless fanboys.
Please stick to reality. Rust has a zero cost memory management strategy and a smart compiler that helps to prevent certain types of common errors.
We dont need to step into magical fairy land to convince people rust is good. It stands on its own merit easily enough.
In other words I'm talking about code the programmer makes themselves.
>Its easy to say, 'well, thats a bug in the library, not a problem with rust', but thats the same as with C++ isnt it?
In C++ nothing prevents the lines I write from having memory errors. It's not the same at all.
>If you can assert any code is 100% bug free then why do we care about the nice safety features in rust?
Oh well you shouldn't do that, but you also don't have to use unsafe code willy-nilly. In C++ everything you touch is unsafe unless proven otherwise.
>What are going to do? Vet every line of every part of every dependency in the code you use?
For unsafe blocks? Sure, that's easy.
Thats the point.
You cannot assert your rust program cannot crash.
Even if your code is perfect, there may be bugs in either the std library or some dependency you use that does crash.
Im not saying everyone uses unsafe code (or should) in their own code. Far from it.
Im saying that every rust program invokes unsafe code at some point.
So this myth of the 'pure rust' that is 'completely safe' is just that. A myth.
I dont understand why this is difficult idea for people to accept. Just use the good bits of rust. rust doesnt need to be 100% safe; its not, and thats completely ok.
>I dont understand why this is difficult idea for people to accept. Just use the good bits of rust. rust doesnt need to be 100% safe; its not, and thats completely ok.
It's okay for now, but I'm eagerly waiting for a version where the important pieces of unsafe code can be formally verified. Give me safe unwinding, memory allocation, and sockets, and I can cover half the world.
As far as I know this isn't an especially difficult request. I could probably cobble together something right now by borrowing bits of verified C and gluing them to library-limited rust.
I've been writing Rust for well over a year. I like to abuse new features and I've found many compiler bugs, but my code doesn't crash at runtime.
I'm not saying it doesn't happen, and the plural of anecdote is not data, but I think you're grossly misrepresenting Rust's practical safety benefits. That you only have to trust code in unsafe blocks, rather than all the code everywhere, is a huge benefit.
maybe once a fortnight for me?
I'm certainly not trying to bash rust, and I do apologise if it comes across that way.
I just think a bit of realism makes everything look much more sincere and plausible.
As you say 'Rust cannot crash' is false. 'Rust has never crashed for me' could well be a completely true thing to say. Also, 'Its so much easier to write rust code (than say c) that doesnt crash!'
I completely ok with all of those.
..but 'you can do anything in rust and its always perfectly safe!' or 'rust programs dont have to worry about security issues' or 'It is effectively impossible to have an unsafe memory access error in Rust'?
Those are people being enthusiastic (good) but unfortunately spreading misinformation (bad) and making the rust community look bad (very bad).
I just wish people could be excited about the the things that are actually exciting about rust. I feel like this whole safety thing is a massive distraction.
fast, low level, concurrent and managed memory with no cost is both accurate and exciting about rust.
'helps avoid bugs and race conditions' isn't very exciting to me, but I acknowledge its important.
I guess 'completely provably safe!' is exciting to some people; but since its not true, Id prefer not to get people excited about rust that way.
The graphical bindings you're using are not part of the standard library, which is why I specifically asked about that. I know there are bugs in third-party dependencies in Rust, because there are many C bindings that aren't exposed safely by those libraries. I've segfaulted using a TrueType binding library, for example, because it was not actually exposed in a way that prevented double frees. But writing a bad binding is something you can do just as easily in Ruby, or Java. The standard library is what we were originally talking about. I wouldn't disbelieve you if you said you crashed every fortnight using only standard library code, but I would probably press for details.
I am not saying Rust is "completely provably safe", but nothing is. You always have some trusted software or hardware that, if it screws up, will compromise your program. Rust's advantage is that it allows you to be explicit about what parts are trusted and what parts aren't. It vastly reduces the potential attack surface.
That's why effectively impossible is an OK statement. Unless you go out of your way, your program will not contain such bugs.
Rust has many other unsafe code paths than ffi; low level optimisations, dynamic libraries, etc.
Unless you go out of your way or are doing low level work, your code will not contain such bugs, and if you used no dependencies that do anything meaningful, what you said is plausibly true.
...but what are we trying to argue here?
That you can build a contrived rust program that doesn't crash?
Or that if you build an arbitrary program in rust, using arbitrary dependencies to do meaningful work (that will invoke a c library at some point, and talk to device drivers), that it wont crash?
In my view 'effectively impossible' is faaaaaar over stepping the bounds of reality.
Improperly implemented `unsafe` blocks can cause crashes. APIs that don't properly isolate unsafe interfaces can cause crashes. Bugs in the compiler, bugs in LLVM, and unforeseen unsoundness in the type system can cause crashes. So instead of saying "Rust makes crashes impossible", I'm starting to prefer "If you write only safe code, any crashes that occur are not your fault". A bit less comforting, but still a best-in-class guarantee for a bare-metal language (not to mention that the former claim is impossible in any language).
Furthermore, I think it's important to express to people the true role of `unsafe` blocks, which are not so much "Rust without safety" as they are "reified inline C code with a bit more safety". Rust without `unsafe` blocks could exist, but it would require an enormous amount of FFI and/or much more machinery baked into the compiler itself.
Sure there is. There's a compiler lint available which can disallow "unsafe" code, i.e. code which is able to create null pointer errors (and thus segfaults).
Of course, the standard library will always contain a bunch of unsafe stuff - but at least it's shared between every project, and any bugs can be fixed once, and assuming it's correct any non-unsafe code that depends on it is memory-safe.
(disclaimer: googler)
I see it as a hubris against the idea that Google claimed to not be evil, and the fact that evil is such a poorly defined concept, and whether or not Google meets the bar depends entirely on the values of the perceiver. Many perceivers, for instance, miss the distinction between "Don't be evil." and "Don't do evil.". The former is a mindset, strategy, and intention, while the latter is impossible for a corporation with 50k employees.
Then, the only logical conclusion for someone who hasn't grasped all of the above is that Google is becoming more and more evil every day.
What's the mindset behind the broken permissions on Android? Where any app that wants to change behavior when you get a call must request permission to your IMEI and calling/called number? Or why the broken, upfront, all or nothing model is still even used?
What's the mindset behind G+'s incessant nagging, and forcing it as a requirement to even rate apps on Play? Or the same for YouTube, etc.? Not to mention the "real names" debacle.
At what point are we allowed to say Google's mindset is not "don't be evil" as far as external observers are concerned? Or will everyone that brings this up always be labeled as unable to understand?
Where any app that wants to change behavior when you get a call must request permission to your IMEI and calling/called number? Or why the broken, upfront, all or nothing model is still even used?"
At the time android created its permissions model, most of these issues were not obvious, or it would have been done differently.
Remember, of course, that prior to things like android (the first version of the iphone only had webapps), permission models of any sort were pretty much unheard of. Flip phones running java apps, or blackberries, had apps that got to do whatever they wanted.
Permissions changes are being slowly made in android. The same way you'd slowly change most serious things about something with billions of users.
It's not like C++ or Java just release new features every day (even if we may want them to :P).
This is of course, the same as any large system in engineering.
I don't know enough to comment on the rest.
" At what point are we allowed to say Google's mindset is not "don't be evil" as far as external observers are concerned? Or will everyone that brings this up always be labeled as unable to understand?"
Truthfully? It doesn't matter. At some point, every company large enough will lose its sheen, and people will worry about it, and eventually question its motives. Nobody can be perfect at doing the right thing all the time, even if they wanted to. Eventually, even with the best of intentions, mistakes add up, and people stop believing. In fact, i'd wager it happens slower if you don't even try to have good intentions, and and just stay under the limelight, rather than try and occasionally mess up.
In any case, I guarantee the same will happen to Mozilla (or whoever we want to peg as the current defender of the world) over time, the same as it has happened in the past to every other company. Non-profitness won't save them.
In fact, if your app isn't signed by Nokia, you can't let an app make a request without nagging you for permission. This totally kills homebrew.
MIDP 2.0 had permission domains. In practice, the permission domains were basically "want this app to let you do anything on your phone Y/N?" for a lot of phones.
In the specific case of S40, Nokia's security policy came into play in 6th edition feature pack 1, or so Nokia claims.
For fun, look at the deviations different carriers (and editions) have at http://developer.nokia.com/community/wiki/Java_Security_Doma...
"Trusted 3rd party domain" is everyone who gave heaps of money to Verisign. They get no permissions by default, but they can request, for example, network access and the user can then grant it once, per-session or always.
"Untrusted 3rd party domain" is the rest of us, and basically any app I ever installed, in which case the user is prevented from selecting "always allow" for network access and is prompted once per session, which was highly annoying.
So if anything, it was too secure! Sun sank their own standard by requiring expensive certificates for normal functionality. If they had used self-signed certificates they way Android does (checking on upgrade that it's the same certificate) it would have been great.
"Operator protection domain" and "Manufacturer protection domain" mighty work differently, but that's no different from the stuff that comes pre-installed on Android phones having access to everything without asking.
Chrome dev here. The way the Chrome settings web UI is written does not lend itself to strong consistency, just eventual, as devs notice it and fix it. Your DNT example was fixed last week in https://codereview.chromium.org/665113003.
Another example of inconsistent button ordering: the overlay for disconnecting a managed profile has its buttons reversed from the usual order, while the overlay for disconnecting an unmanaged profile does not.
I guess that just leaves the fundamental incompatibility with Google's current business model and personal privacy.
Hanlon's Razor is a good rule to apply here.
Android permissions aren't great. When Android was being designed (before Google bought it), the permissions were a huge step forward from desktop apps, which can still do anything at all. Arguably the very concept of upfront permissions is inferior to asking when needed, but attributing malice to the choice is silly. It'd also be really hard (or even impossible) to change without breaking all the apps out there.
G+ is annoying, indeed. They were aping Facebook with the real names thing and they should've known better.
Where any app that wants to change behavior when you get a call must request permission to your IMEI and calling/called number? Or why the broken, upfront, all or nothing model is still even used?"
At the time android created its permissions model, most of these issues were not obvious, or it would have been done differently.
Remember, of course, that prior to things like android (the first version of the iphone only had webapps), permission models of any sort were pretty much unheard of. Flip phones running java apps, or blackberries, had apps that got to do whatever they wanted.
Permissions changes are being slowly made in android. The same way you'd slowly change most serious things about something with billions of users.
It's not like C++ or Java just release new features every day (even if we may want them to :P).
This is of course, the same as any large system in engineering.
I don't know enough to comment on the rest.
" At what point are we allowed to say Google's mindset is not "don't be evil" as far as external observers are concerned? Or will everyone that brings this up always be labeled as unable to understand?"
Truthfully? It doesn't matter. At some point, every company large enough will lose its sheen, and people will worry about it, and eventually question its motives. Nobody can be perfect at doing the right thing all the time, even if they wanted to. Eventually, even with the best of intentions, mistakes add up, and people stop believing.
I guarantee the same will happen to Mozilla (or whoever we want to peg as the current defender of the world) over time.
None of these things say "evil" to me even remotely.
No, we perceive the disctinction just fine. Some of us just believe Google does "evil" with mindset, strategy, and intention...
What possible motivation could they have for being "evil", comic book style?
Just greedy capitalist style, and "patriotic" pro-US-interests style.
What possible motivation does anyone have for doing evil?
No, I don't. the NSA isn't magic or the Illuminati.
It's quite common that intelligence agencies use front companies to do their work. Look it up.
Yeah, makes perfect sense.
See my other comments, but things like swapping OK/Cancel when a Chrome user attempts to enable DNT fit right into "evil". Really, how does one excuse adding a dark pattern like that? Even though DNT is bad, Google shouldn't resort to trickery to juke the stats.
Edit: A Chrome dev in this thread says this was fixed and just an artifact of how the UI code is in Chrome. Well that makes me look foolish.
I'm not a huge fan of the evil terminology, as it sounds melodramatic and it's easy to dismiss anyone saying "evil" in such contexts. I use it because Google chose that word.
On a less objective point, everytime I use a Google service, I feel icky. It's bad enough that I'm working on the one missing app I want so I can switch to Windows Phone. (MS has problems, but between their internal legal oversight and inability to execute, I don't feel icky with them. Apple is also a choice, but I just really hate the UI and poor development tools.)
One of the co-founders is still the CEO. He is one of the world's wealthiest men. He doesn't need the money and I doubt he feels the need to put shareholders first.
Why would he let Google stray from an ideal he ascribed to previously? Has he been corrupted by having more money than he could possibly spend?
Rust is also one of the most promising languages with a potentially massive impact on the world. Not only safer software, but exposing more programmers to better ways of coding. (Imagine how different the world would be if a popular OS had adopted a Rust-like two decades ago.)
Mozilla is really an important thing these days.