Why PR for Your Engineering Team is not Crazy Talk - <AUTHOR> http://blog.petesoder.com/blog/2013/09/23/why-engineering-pr-is-not-crazy-talk/

<comment><USER2> There's something important missing from the post. Interviewing. Interviewing is a horrible experience for most engineers. It's often costly in time and in preparation. Keep this in mind if you're hoping to hire anyone that's not still green in their career. Provide honest insight into the process for candidates. Keep your engineers from getting into the usual pissing contest during the white-board "dance" and under-graduate level homework details that don't really tell you anything about someone but are often just an excuse to technically "haze" a candidate.

<comment><AUTHOR> yep - this is totally designed to be a more scalable lead-gen strategy (top of funnel).

Next post will be on effective interviewing by/of engineers. I find many companies don't tend to do that in a scalable way, either.

</comment></comment><comment><USER3> This was big for me when I was applying for jobs earlier this year. Teams that had a blog, updated it reasonably often talking about their recent challenges they overcame or fun projects went a long ways in making me want to work with them. The careers page is nice, but talking don't really present the culture and specific work that gets done in a very good way.

There's a couple companies that come to mind that I feel like do a pretty good job with this - Tumblr (look at some of the intern reports from this summer and the rest of the staff blog), and Etsy's Code as Craft blog go a long ways in making their engineer teams attractive.

<comment><AUTHOR> I couldn't agree more. Engineers are loathe to enter into a traditional recruiting process (i.e. go in through the front door) when they have so many options out there.

It's far more attractive if they can 'window shop' and get a true sense for your team/culture/challenges without kicking off a gauntlet of interviews for them to learn the same stuff.

Obviously, interviews are still important for the hiring team, but it's time to make the overall process better (and more front-loaded with the company's engineering project info) for the engineer candidates.

</comment></comment><comment><USER4> Great post. It's a real issue for many startups I talk to that wonder why they're having a hard time recruiting tech talent and haven't spent the time to build a brand and relationship with engineers. If you happen to have a consumer brand, that's great (Apple, Google, etc) but the most important thing is to create an engineering brand that tells the story of what kind of shop you're going to be to work for and why people should work for you instead of one of a huge number of other startups.

<comment><AUTHOR> If you can't explain in 60 seconds why an engineer should want to come and work at your company, you're dead.

</comment></comment><comment><USER5> Step 2 is really the unique part here -- what you need to do is to figure out who you want before you can figure out how to communicate with them. The oldest adage in the book about speechcraft is "know your audience" but it really applies to any sort of communication, even 1:1 ping-type emails. Can't emphasize enough how much you need to introspect within your org to figure out who you're looking for if you have any chance of convincing someone that they are who you're looking for.

<comment><AUTHOR> It's very true. Many times orgs write generic, catch-all engineering job specs. Or they say they're looking for any 'good' engineer.

They think this is a good idea since it seems to apply to the broadest number of candidates. But it totally backfires - no one gets excited about the role since it's not targeted at anyone.

</comment></comment><comment><USER6> Great read. I was actually in the process of writing a blog post about the exactly the same thing. at Pusher ([http://pusher.com/jobs](http://pusher.com/jobs)) we are revamping all our jobs, about us, etc pages but also blogging more about our technical challenges and what we do as a team outside of work. Slowly but surely, we can see the increase in spontaneous applications and the quality.

</comment><comment><USER7> Prudent advice. Building a reputation to attract great people to your team demands honesty about who you are and how you work together. This should not manifest itself as a list of buzzwords, but a genuine introspection about what kinds of talents and personalities will benefit your team in the long run. Clearly explaining to a candidate why you want them to join your team and what it is you value about everything they have to offer can be a powerful and persuasive conversation to convince any candidate to choose your team above all others.

</comment><comment><USER8> This is a good writeup.

In general, this type of mindset is important, especially for company founders. It's not so much "PR" or "sales" or "marketing", but more about understanding what's important to the target audience, and explaining why what you're offering is a good fit for what they want.

VCs, business partners, employees, customers...they all have a different perspective on the world, and it's hard to be successful in business if you're unable to get your message across.

<comment><AUTHOR> Thanks. It's been a ton of fun learning to teach story-telling to engineers/CTOs. Every good developer cares about an interesting engineering challenge, but nailing the quick story around it can be slightly challenging sometimes.

</comment></comment><comment><USER9> It sounds like like you're trying to encourage more meaningful connections between engineers and recruiters. That's a good thing, but the term PR is a turn off even used as an analogy.

Even if engineers are the mark rather than the intended audience, those roles often overlap so your message should appeal to both.

That said I think your content is on the right track. Maybe title it something like "here's how to encourage more meaningful connections between engineers and recruiters"...

<comment><AUTHOR> Good feedback, thank you.

Although I'm not sure it's about creating meaningful connections between engineers and "recruiters," Although I guess it depends who the recruiter is in the company. Sometimes it's the CTO or engineering manager - but sometimes the initial story-telling (aka company pitch) is delegated to a traditional recruiter (which normally isn't as effective with engineers).

I'd prefer to see traditional recruiters go the way of the Tyrannosaurus.

If you want to hire the best team as an engineering manager it's typically best not to delegate the job to someone else.

</comment></comment><comment><USER10> Excellent post. I think the aversion engineers have toward PR for teams is unfortunate. A similar attitude toward prof. networking exists. Good team PR and good professional networking is predicated on mutual benefit.

Teams that are innovating, working on novel problems and dedicated to quality shouldn't be afraid to present themselves in a positive light. There's nothing sleazy about trying to attract and retain like-minded people.

<comment><AUTHOR> Good comment, thanks. And appreciate the connection with professional networking.

As a young engineer, it was very hard for me to come to understand the value of building my network. I guess when there's so many horrible 'networking' events out there (just like 'bad' marketing), it takes some time for one to overcome an adverse knee-jerk reaction and really apprehend the value.

</comment></comment><comment><USER11> Great post. I think this isn't discussed enough (which just benefits those companies who have nailed it). This ties into one of my prime lessons of tech management: always be recruiting. To do that well, you have to start with an awesome idea/company and then hone your message to get the best people working with you.

<comment><AUTHOR> Yeah - great point. Recruiting is so hard these days that most people don't get enough leads in the top of the funnel in order to really see enough quality candidates get through the screening process.

Establishing an engineering story (and telling it well) allows you to add more interested engineers to the top of the funnel. It's a longer term strategy, but I think it's required based on present market dynamics.

</comment></comment><comment><USER12> I think Pete is right on. Content marketing as a by-product of engineering, especially open-source engineering, is only going to become a bigger part of recruiting. Just look at GitHub. Super engineer-driven company, incredible content marketing generated by their engineers that helps them find folks.

</comment><comment><USER13> Pete, great advice here.

I definitely will push for this hard as I grow the team at makespace.com

Few examples of successful engineering PR: New Relic, Stripe, Uber. Of course, solving interesting problems is appealing in it self

</comment><comment><USER14> Good stuff. Fully agree with the last point -- having the CTO or engineering lead build the story and reach out to potential hires makes a huge difference.

</comment><comment><USER15> Cool post! I'm actually doing my own business on the pain described in the original post. Keep up the good work.

</comment><comment><USER16> misleading title, though it is a nice little bow to wrap around the idea.

<comment><AUTHOR> Curious, why misleading?

<comment><USER16> Public Relations for your Engineering Team suggests working on getting them out in front of the product, not just hiding behind it.

You touched on it, "Engineers are no longer the loner geeks, working in dimly lit rooms, hacking away" but didn't realize the potential of that statement. Instead you used the idea to jump into a different topic; using the Tenants of PR to hire Engineers.</comment></comment></comment>


The Real Secret to Startup Success - <AUTHOR> http://smartfaststartup.com/2011/06/08/real-secret-to-startup-success <comment> james-fend Love the graphs... Makes perfect sense. I think in general; the real secret is you must satisfy the formula entirely and not just have one or two things right. Everything must go together just right including timing. Great article.</comment>


How you can contribute to Firefox 57 success - <AUTHOR> https://diary.braniecki.net/2017/09/01/all-hands-on-deck-how-you-can-use-your-skills-to-contribute-to-firefox-57-success/ <comment><USER2> I just tried the Nightly on Windows and I'm very impressed. Much faster and better looking.

Long time Firefox user and have been dreading the extensions going away, but it looks like Nightly has resolved some of the problems I was using extensions for (i.e. duplicate tab context menu) and I know some of the more prominent extensions (like NoScript) are being worked on.

<comment><USER3> just tried it on macOS and I have to agree it feels very well made.

Some issues though: instead of going for 'native', they still seem to feel like Firefox is a little planet of its own. It doesn't use macOS-style menus, nor transparency. Not that Chrome uses all macOS style elements, but it at least feels like it has had some effort put into making it feel at home on macOS. There's also some weird defaults / ignorance of convention: every browser launches a private window with cmd+shift+n, Firefox uses cmd+shift+p. There's still a separate search field next to an URL&search field. Probably a few more that I missed.

<comment><USER4> Glad you like it!

On the issues - what you listed is the eternal dilemma of cross-platform software. Balancing cross-platform behavior vs. platform-compliance.

There are choices that are just "Firefox-specific" like the shortcut to open private window. Other items like "Gecko menus vs MacOS menus" are tradeoffs of productivity. Having one set of menus for all platforms is easier to maintain than separate for each.

Those choices are hard to make perfect. I've been recently fixing the drop- down menu lists styling [0] to allow websites to style some of it, while keeping it looking native when they don't. It's pretty tricky to get it right :)

[0] [https://bugzilla.mozilla.org/show_bug.cgi?id=1386015](https://bugzilla.mozilla.org/show_bug.cgi?id=1386015)

<comment><USER5> I always favor native over non-native, but the FF's non-native bits are tasteful enough for me not to care. Do I wish FF used native tabs on macOS? Sure, but FF's tabs are functional enough and visually innocuous enough for me to simply not really care.

And, _wow_ does FF57 "feel" fast. Not sure if it's because I have Stylo enabled, or what, but the UI feels faster now. I'm not sure if I've felt that way about any other FF release. And I have used them all.

</comment></comment></comment></comment><comment><USER6> Please Firefox developers : always keep in mind that power users are loyal to Firefox for some specific reasons. One of those reasons is that Firefox is, by far, the browser with the most customizable interface. The "Customize..." feature is why I personally stick to Firefox :

[http://i.imgur.com/AH1ahF3.jpg](http://i.imgur.com/AH1ahF3.jpg)

I really don't care which browser is #1 in speed tests. I don't care about integrations with social networks. I simply want a browser that I can configure the way I want!

Another suggestion : when you change something, even if you are 100% sure everybody will like it, please at least leave an "about:config" option that can revert that modification.

Sadly, I realized that, when Firefox is updated, I'm not trilled anymore to see what new features are included, I'm instead anxious to see what has been changed/removed!

<comment><USER7> Why do you want to customise so much? I know there are people like you but maybe like the Firefox developers I don't understand it. I use software as it comes. I almost never change any options. I don't even change my desktop wallpaper. I think making developers add options for everything creates bloat. Just use the defaults!

<comment><USER8> I'm not quite sure if you are being sarcastic or not, but one of the things I value more in software is costumizability. I don't _want_ someone else to make my choices for me and force me in a given mold. No browser, no software, can be made perfect for everybody. Different people want different things, so a good software must always offer users the option to change it to fit their use case.

For instance neither "classic" top tabs nor a side list/tree is the "best" or "right" way to design a tab selector. Some users will prefer one, others the other. You should give them choice.

<comment><USER7> I'm not being sarcastic - I genuinely don't understand why people value being able to tweak such trivial things and why they want to spend their precious time and effort doing it.

I think building support for a choice about something like tab placement is a waste of time and code - I don't understand why people can't adapt to one way or the other and then we all benefit from simpler code with fewer bugs.

I don't think we need to decide if top or side tabs are better, because I can't see how it matters much. Just pick one, hard code it, and everyone get on with the things that matter.

<comment><USER8> It does matter to me. When I'm working I often have a large amount of tabs open. Side tabs let me view more tabs at one,which top tabs can't since they don't let me view more than ~10 at once. Furthermore, screens are wider than taller, while webpages scroll up and down. Makes much more sense to have all the real estate you can get vertically, while the tabs go on a sidebar.

I spend several hours _every day_ on a browser, switching tabs hundreds of times. I am measurably and subjectively more efficient with side tabs than top tabs. Why is this something that doesn't matter? It's not trivial, I literally cannot browse without side tabs without getting annoyed. It's absolutely _not_ a waste of time and code if it's important to people.

</comment></comment></comment></comment></comment><comment><USER9> Back in ~2015, there were several Firefox developers who visited a local hacklab where I used to hang out. I was aware of a bug in the current version of FX at that time, and I knew how to fix it. I wanted to get their help to create a patch for the bug and get it submitted.

After about two hours of trying, we were unable to produce a working build from a tagged release point in their version control - even before applying any changes.

I'm hoping the new tooling works better.

<comment><USER10> I'm curious: Which operating system?

The Linux x86_64 build experience has worked very well on Ubuntu for many years. These days you don't even need to copy and paste the apt incantations: ./mach bootstrap takes care of that.

<comment><USER9> It was on a Mac, which I admit probably isn't where the core of development lies.

<comment><USER11> Many gecko/firefox devs work on Macs, so it is very surprising to hear that, unless your are running a somewhat old and unsupported version of MacOS (you need 10.7 according to [https://developer.mozilla.org/en- US/docs/Mozilla/Developer_g...](https://developer.mozilla.org/en- US/docs/Mozilla/Developer_guide/Build_Instructions/Mac_OS_X_Prerequisites)).

</comment></comment></comment></comment><comment><USER12> Reading the comments, I get that many users are upset about the XUL extension APIs being dropped, but what I don't get is that many of them plan to switch to Chrome.

a. You're getting a less powerful set of APIs in Chrome than in Firefox, even with WebExtensions being used by both.

b. You're supporting a browser by a major corporation that is already number one anyway and has a IE-style chokehold on the web, giving them even more power is not the best solution, helping Mozilla make the new APIs as close in power to the old ones would be a better alternative in my opinion.

Again, it's everybody's personal choice and am not saying what anyone _should_ be doing, just found it curious that many consider switching to WebKit/Blink to be the solution, where they won't get more power and give Mozilla even less of a say in terms of web standards and just having a decent alternative to WebKit.

</comment><comment><USER13> Dear Mozilla developers! I've been using Firefox since v1.0. And I want you to know that by ditching the old plugin architecture you are alienating your faithful users, myself included.

I'm sorry, but I decided to stick with Firefox 55 for now, possibly switching to Palemoon later. I need my old extensions to work: Status4Evar, EdgeWise and Classic Theme Restorer. I can't stand the current FF UI and I will not give up on this.

<comment><USER5> While we're throwing anecdotal statements around...

Dear Mozilla developers!

I've been using Firefox as my daily driver nearly non-stop since it was _Phoenix_ and I'm totally cool with you dropping the legacy stuff.

<comment><USER14> I'm totally cool with dropping legacy stuff that has a proper replacement.

<comment><USER15> Then you must hate all of your software. It's impossible to always continue in the direction that happened to be chosen more than a decade ago. At some point, you will run into problems, which in the case of Firefox were severe problems in performance, security, maintainability and complexity as well as stability of the extension API. You can't fix all of these problems without breaking things, without doing things differently.

And yes, it is to some degree subjective whether this is worth it, but at the end of the day, you, as someone who uses lots of extensions and complex extensions, are only a very small fraction of the Firefox user base. Most users have no extensions or just the obligatory ad blocker. They don't benefit at all from keeping onto the old architecture with all of its problems, which they are suffering under.

And then, yeah, Mozilla has to at some point piss you off in order to help the majority of their user base. It's not like all other browsers had such a complex extension API and Mozilla is just being lazy by dropping it.

</comment></comment></comment></comment><comment><USER16> Hit the download button for nightly, only to start reading the comments here and realizing that a bunch of addons will stop working. Checking my list, FireGestures will stop working, Self-Destructing Cookies apparently already stopped working this version (broke localStorage deletion), and a more obscure one (QuickJava) is also legacy. The latter is the only one I could find that adds easy on/off toggles for Javascript, CSS, Flash and Proxy. They want to receive telemetry to see how people use nightly? Well, here's my datapoint: can't use it altogether.

I might as well switch to MSIE as update to 57.

<comment><USER4> This sheet may help you find replacements: [https://docs.google.com/spreadsheets/d/1TFcEXMcKrwoIAECIVyBU...](https://docs.google.com/spreadsheets/d/1TFcEXMcKrwoIAECIVyBU0GPoSmRqZ7A0VBvqeKYVSww/edit#gid=0)

FireGestures -> [https://addons.mozilla.org/en-US/firefox/addon/foxy- gestures...](https://addons.mozilla.org/en-US/firefox/addon/foxy-gestures/) SDC -> [https://addons.mozilla.org/en-US/firefox/addon/cookie- autode...](https://addons.mozilla.org/en-US/firefox/addon/cookie-autodelete/)

It'll take a bit for the new generation of extensions to fully replace the old one, but it's happening.

<comment><USER17> I'm not sure they will. Vimperator etc. has a lot of dependencies some of which will never come to be. But the parts that could, like a proper keyboard api hasn't even been reviewed for months. The community complained about the lack of apis, they made a webextension experiment, which is apparently the way you ask for api extensions and it's pretty much just being ignored(the thread is 2 years old [1][2]). The customization thing mentioned also applies since the plugin creates a custom status bar and hides all sorts of other stuff.

I'm not sure what browser I'm going to use to be honest. All the hotkey browsers are buggy as hell since they use qtwebkit, webkitgtk, qt-webengine and whatnot. Chrome has extensions like cvim which sort of work, but they suffer from issues like not being able to properly hook keys and properly notify the user about the state you're in making me frequently make mistakes on what I want to do. As the sibling said a poor imitation of what was possible before.

If firefox just immitates chrome, what's the point in having it? How about trying to eat some of IE's lunch by making enterprise customization a first class citizen? But then again not sure if that matters. And yes I'm aware of GPO[3], but calling that first class citizen is disingenuous at best.

[1] [https://bugzilla.mozilla.org/show_bug.cgi?id=1215061](https://bugzilla.mozilla.org/show_bug.cgi?id=1215061)

[2] [https://github.com/Koushien/keyboard-shortcut- api](https://github.com/Koushien/keyboard-shortcut-api)

[3] [https://addons.mozilla.org/en-us/firefox/addon/gpo-for- firef...](https://addons.mozilla.org/en-us/firefox/addon/gpo-for-firefox/)

<comment><USER18> Did you try Pale Moon?

</comment></comment></comment></comment><comment><USER19> TLDR; could someone point me to a tutorial or an explanation on how to properly install FF, update & save the open tabs without making bookmarks (that last point is and edge case we can skip if it's difficult), and having the current icon, on a nix system that has explanations for 5 year olds?

I would love to help but being an amateur I've encountered a few pain points, unless the issue is my search skills are lacking. A few days ago I finally updated my Firefox version on Debian 9 to the developer version 56 (previous 54). The problem has been finding documentation on both the Debian and Mozilla websites on how to do it the right way. Found a decent tutorial, made a back up, installed and my machine is working much better. It is old and got little memory :)

Then FF said there was an update. I got stumped. From what I could find FF sync has a limit of X bytes. I ended up looking into making a web extension but that's going to take me some time. It seems I could save the open tabs using Tabs.tab from the API, maybe. Sorry, I digress.

In short, how can I have two FF versions on at the same time, different directories obviously, with their respective icons, while manually updating them? I guess it would be to delete all the files in the dir, unpacking, and call it a day? Still need help with the two versions though.

If you read all of this, thank you.

<comment><USER20> I'm not sure exactly what you're asking, but try just using the same profile for both installs. It contains all the information about your browsing session including tabs, bookmarks, extensions, cookies, etc.

[https://support.mozilla.org/en-US/kb/profile-manager- create-...](https://support.mozilla.org/en-US/kb/profile-manager-create-and- remove-firefox-profiles)

<comment><USER21> His point is concurrent usage of one profile. FF does not support this.

Queue the FF is not tread safe jokes (and only that, not a flame).

OP: you can use Firefox Sync. There is a cloud version by Mozilla but also a WSGI app you could host. I know it is not a 100% solution, but what was recommended to me when I asked during FF alpha and beta testing with stable way back when.

<comment><USER19> Sorry if I explained myself incorrectly. My main point isn't concurrent usage of profiles.

I lack the necesary knowledge on how to correctly install two different FF versions and have them accesible with their respective icons. In my case, FF dev version and the one discussed in the article to help out with bug testing/development.

The issue is since I'm on Debian, auto update does not work. From my limited understanding, I would need to install FF 57 in its own directory. For this one I don't need a profile. But I don't know how to install it and have it accesible either by command line or the FF icon that comes with the browser since I already have my main FF I want to keep.

The second part is regarding the profile, sync with the other browser I recently installed.... I was about to go down a mental rabbit hole :)

The problem is, the lack of noob friendly documentation. I know I could figure it out if I research the issue through different topics on Linux administration. I was hoping that maybe someone knew of a tutorial which talked about the different steps on how to install Firefox on a nix system, explaining the different concepts as if I were a five year old. The best I've managed to find is a tutorial laying out the steps. But it didn't explain the concepts behind those steps.

That tutorial mentioned how to replace debians FF from the repo. But whenever a new version comes out I would need to delete it and unpack the new one, linking it to the old icon.

I hope it's clear now. Thanks for the reply.

<comment><USER22> I use Ubuntu, which should be pretty similar to Debian as far as this is concerned:

I literally just downloaded the zip file (or maybe a .deb?) and unzipped it in a directory in my desktop. All I had to do after that was make sure I didn't have _both_ browsers open, and everything worked properly. They both used the same profile, and the tabs I opened in nightly were available in stable and vice versa.

I did nothing more than unzip the browser, and everything works perfectly.

<comment><USER19> I'll give that a try. How did you link the icon? Or was that automatic too?

<comment><USER23> Maybe this is what you're looking for? (I just installed Nightly on my Ubuntu 17.10 install and wanted separate icons myself).

[https://www.reddit.com/r/firefox/comments/6tt7wj/nightly_cre...](https://www.reddit.com/r/firefox/comments/6tt7wj/nightly_creates_a_new_icon_on_my_dock_when_i/)

<comment><USER19> Seems to be about right. Thanks!

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> I won't be happy if it were to fail but certainly I won't despair either. I don't want amazing performance improvements at the cost of huge functionality losses. This update is simple a regression: almost every add-on I have been using will stop working and has a stupidly limited or no replacement at all. There will really be no reason for me to still use Firefox over any other browser now.

The only option seems to switch to the ESR version, at least for a while it will work.

</comment><comment><USER24> This sums up my feelings re. Firefox 57: [https://www.change.org/p/mozilla- save-mozilla-firefox-s-best...](https://www.change.org/p/mozilla-save-mozilla- firefox-s-best-feature).

Sorry Mozilla - for the reasons expressed above, 56 will be the last version of your browser I'm able to effectively use given the demands of my browser workflow. If my use-case no longer fits your business case, then we will part ways.

Currently, it looks like my best options are either Waterfox (with its pledge of continued XUL extension support), or Vivaldi.

<comment><USER15> Vivaldi has less powerful extensions than Firefox 57.

I can't imagine Waterfox or Pale Moon being able to keep XUL extensions alive for much longer. It was a major maintenance burden for Mozilla, so it's pretty much an impossible task for the comparatively tiny developer teams behind those.

Having said that, Firefox 52 ESR is still supported until June 26, 2018. So, you could use that. And the Waterfox + Pale Moon devs could base themselves on that until its EOL.

<comment><USER24> Vivaldi provides arguably the most customizable UI of any browser out of the box (see: ability to move tabs to any side of the screen), plus their culture seems to me to be all about customization and providing options. I like that.

Firefox ESR is pointless - it's just delaying the inevitable. I tried Midori, but it runs poorly on KDE. Palemoon is pretty bad - I tried it and it doesn't properly support existing XUL extensions that work fine in Firefox, so it's a no-go in my book. Waterfox, on the other hand, is fast, works exactly like Firefox, and is at least willing to give continued XUL support a shot.

So, it's Vivaldi or Waterfox as best I can figure at this point.

</comment></comment></comment><comment><USER25> 57 nightly feels extremely snappy. Scrolling is no longer janky. The theme is good and sensible (at least on Windows). I am seriously going to try to ditch chrome for this. Yay! The old Firefox is back!

</comment><comment><USER26> I just updated FF Nightly on Android and the new Photon UI is very big, very white and very obtrusive feeling in comparison to before I updated. I've got a pretty small android phone, I'm sure it looks better on the phablets of the world, but I ask for a dark UI option and small screen footprint please.

Edit: Found some images [http://www.androidpolice.com/2017/08/08/mozillas-new- photon-...](http://www.androidpolice.com/2017/08/08/mozillas-new-photon-ui- arrives-firefox-nightly-android/) I just noticed, it recolors my system stsusbar too. So, it's white on white while FF is open. Everywhere else it's black.

<comment><USER27> The new look screams "generic". You can say what you want about the old design, but you could always tell that someone was using FF Mobile because of the distinct black rounded background on the buttons. The new design looks like literally every other mobile browser in existence.

<comment><USER28> On the other hand, the most comment complaint I've seen in the wild about FF for Android is "the UI looks weird / doesn't fit in with the rest of Android". You can't please everyone.

</comment></comment></comment><comment> Ar-Curunir To counter all the negativity in the comments: I've been exclusively nightly- only for a year now, and I've only seen improvements. Most addons I use have replacements/WebExt versions, and the UI and performance are much better.

</comment><comment><USER29> Most comments here seem to be the result of an "How you can _complain_ about Firefox 57" article posted somewhere else.

</comment><comment><USER30> Mozilla can contribute to Firefox 57's success by finishing all the missing WebExtensions APIs. So many extensions are going to be impossible to recreate.

<comment><USER4> Help us! Write patches to dependencies of this bug: [https://bugzilla.mozilla.org/show_bug.cgi?id=1215059](https://bugzilla.mozilla.org/show_bug.cgi?id=1215059)

<comment><USER13> Thanks for that link, now I can clearly see that from the power-user perspective WebExtensions is a dead-end. If you look at the RESOLVED WONTFIX issues linked in that bug, you will find a lot of them are rejected based on political reasons. For example: [https://bugzilla.mozilla.org/show_bug.cgi?id=1246706](https://bugzilla.mozilla.org/show_bug.cgi?id=1246706)

Listen, I don't care whether features that I need don't fit the WebExtensions security model or whether they are confusing to a clueless user. If you can't support these features as part of WebExtensions, please design a separate set of APIs. Fine with me if you market extensions targeting these lower-level APIs as "dangerous, use at your own risk".

</comment></comment></comment><comment><USER31> Lovely blog post. Well written, thorough and clear. Getting people involved in a large project is not an easy feat, and I think this may open the eyes of people not knowing were to start.

Well done!

</comment><comment><USER32> You can grab a copy of Firefox 57 Nightly in portable form so it won't affect any local stuff from PortableApps.com here: [https://portableapps.com/apps/internet/firefox-portable- nigh...](https://portableapps.com/apps/internet/firefox-portable-nightly)

It's a great way to test out the features in a lower risk fashion. You can do the same with Beta, Dev, and ESR channels as well.

</comment><comment><USER33> I'm still surprised that they're spending time in a VR API while lacking many basic things like print preview functionality. Also In the last year every time I give firefox a try they dev tools are very buggy. Instead of improving the dev tools they waste time in Firefox for devs (which is funny because as web developer I want to develop in the same browser that my users, but instead Firefox for devs is a version ahead, so once I thought my website worked okay in Firefox but it really didn't because it didn't work well in the stable version of Firefox). I feel like the browser is getting faster though which is good. I also like Mozilla as an organization but I feel that they still lack the direction and focus to make Firefox better than Chrome. To be fair, I think Firefox for Android is better than Chrome for Android. And Firefox Focus it's neat too!

<comment><USER18> There's an XUL print preview plugin. :-)

<comment><USER33> Good to know, thanks! I'm just still astonish that after so many years they haven't implemented that functionality. I don't print stuff all the time but sometimes you want to save things as pdf and fiddle a little bit margins/etc.

</comment></comment></comment><comment><USER34> It would be nice if I didn't have to abandon my privacy - reveal my personal extensions to some third party server - in order to use my own extensions without too much hassle.

Now, I have to patch omni.ja every single time I get update to Firefox from Arch Linux, to disable signature verification. I can automate it a bit, although it's not a robust solution, because I'm patching some JS code that can change at any time.

Beta is not an option, because I don't want it for regular use and it is not in Arch Linux repositories anyway, so I can't get it either.

I don't get it. It's still possible to disable signature verification with little effort (one line change) programmatically from outside of Firefox, yet power users have to jump through stupid hoops in order to continue using their browser the way they want.

I wish fight against malware/malicious extensions was not also inconveniencing power users.

</comment><comment><USER35> Wow. What a difference.

Congratulations. This is definitely a huge step forward. The UI finally looks as good as the other guys, and it's fast, too!

If you had finally figured out that private mode's UI is too similar to the normal one, too, I'd even be amazed (let me help you: make the address bar and tabs dark instead of light).

</comment><comment><USER36> So I downloaded Nightly on a lark. 4 addons disabled, with a link to this page:

[https://support.mozilla.org/en-US/kb/firefox-add- technology-...](https://support.mozilla.org/en-US/kb/firefox-add-technology- modernizing?as=u&utm_source=inproduct)

> _You can still personalize Firefox with add-ons the same way you do now, > except they won't break in new Firefox releases._

This is a bald faced fucking lie. And I don't mean that in the "sorta misleading" sense, I mean that somebody wrote something that they knew was false and 'outta be slapped for it.

57 is getting pushed out the door with missing functionality, and that is an absolute fact. You absolutely "can not still personalize Firefox the same way you do now", because you're taking that away from everyone without having the replacements ready!

I can sorta understand the reason to kill XUL/XPCOM, but what I can't understand is this desire to drop it on the world come November before all the bits are in place yet.

Guys, Firefox isn't going to turn into a pumpkin if you let it cook for another few months.

On another note, all companies have a resource that they may not be aware of. It's called "good will". Mozilla is burning prodigious amounts of theirs:

        * Between the CEO drama,
        * the UI rewrite that was apparently received so badly it's getting reverted 4 years later
        * the forced addon signing,
        * the telemetry dark patterns,
        * the forced addon breakage...
        * the junk like Pocket, Hello, and VR APIs recieving nontrivial amounts of developer attention while stuff people actually use like print preview and SSL is either ignored or have years old debilitating bugs

Combined with the demonstrated "fuck you, we know better than you" attitude that permeated all of these decisions (I really think Mozilla and GNOME are going to wind up under the same umbrella at some point)...

And what to show for it? Pissed off users, and an also-ran niche browser with almost no tangible competitive advantage (and in fact, a mounting number of _dis_ advantages)

I've got no faith in this company anymore. Eventually, there is going to be a "Mozilla foundation shutting down" topic at the top of this site, and the people making the decisions are going to be completely blindsided as to why.

<comment><USER37> Thank you, good summarization of the unfortunate drama around Mozilla.

What ever is going on in their management, they give a shit about the Firefox and Thunderbird community. The last 5 years they did so many stupid things. It's time to close Mozilla corp and turn it back to a real open source community project. It's time to fork, like Firefox forked of Mozilla Suite. I have no faith that Mozilla going anywhere, in a few months we will read a post mortem of how the managed to loose 30% world wide browser market share in 2 years.

</comment></comment><comment><USER38> This includes a call for help on Photon, the "new user interface."

"Since the UI is written in major parts in JavaScript and CSS and an HTML-like language called XUL, anyone with webdev skills can improve it!"

I thought 57 was dumping XUL completely. Wasn't that a major point of 57?

<comment><USER39> XUL is still there, and there are no immediate plans to get rid of it. Mozilla has just decided that you dont get to use it anymore, the deadline is purely an administrative decision.

Its great to see they are going to drive firefox off a cliff with yet another anti-user decision.

The situation with popular extensions has improved, but there is going to be a lot of pain, especially with XUL functionality that they refuse to implement in WebExtensions.

[https://arewewebextensionsyet.com/](https://arewewebextensionsyet.com/)

<comment><USER40> > XUL is still there, and there are no immediate plans to get rid of it

It's true it's still there, but I think the plan is using it less and less. No new UIs are written in it and many things have been rewritten from XUL to HTML5. Eventually it could be removed entirely.

<comment><USER39> longer term that is sensible sure, but the ecosystem is not ready for it.

Its amusing to me that mozilla expects everyone else to be moved off XUL, but not their own code because it has legitimate reasons....

<comment><USER41> They are moving everyone else off so they themselves can move off XUL.

</comment></comment></comment></comment></comment><comment><USER42> So the devtools were rewritten from scratch? Are they fast now? If they are I'll jump in.

<comment><USER43> IME pretty fast.

You can even contribute to them without a Firefox clone, they're an entirely separate repo that contains a webpage that can be run in both Firefox or Chrome as a regular website and used to debug both. It's fun!

<comment><USER28> For reference,

Org: [https://github.com/devtools-html](https://github.com/devtools-html)

Debugger.html repo: [https://github.com/devtools- html/debugger.html](https://github.com/devtools-html/debugger.html)

</comment></comment></comment><comment><USER44> Honestly, I can't believe how tone-deaf the entire organization has been on this. I know that's not popular to hear, but I keep seeing people tell them, over and over again, that the loss of customizability and functionality -- and the repeated elimination and crafting of design and UX to bring it into a mirror-image of Chrome UX -- is not what their users want. Yet every person on the Firefox team that I've seen actually respond has insisted, in the face of this overwhelming feedback, that it's necessary and desirable. That's fine, but I think they're going to get a rude awakening afterwards. It'll be wonderful if I have to eat my words on this, but I don't think so. Firefox is really just becoming a mirror image of Chrome, and if they're not, then they're not doing a great job on understanding why people valued -- and, yes, that's purposefully past-tense -- Firefox, and they're doing a very poor job on distinguishing why people should choose to stay with Firefox over Chrome.

</comment><comment><USER45> Sure, we CAN contribute. But what's in it for us?

Are we going to get a browser that caters to our own needs? No, evidently power users are no longer the target demographic.

Are we going to make a browser that we can recommend to our nontechie friends? No, I don't trust them to navigate all the opt-outs and dark patterns around your telemetry. I don't even trust myself to never misclick.

Is contributing going to win us goodwill from our collegues? No, you've alienated them too.

Is this about ideology, then? Are we building a browser for a better world? ..it would be much more convincing if you guys didn't fire your CEO over political speech.

And that's where we're at right now. Maybe the 97% or whatever non-addon-using demographic in your telemetry data will make up the shortfall in contributions.

</comment><comment><USER42> Does anyone know how can I stop the menu from vanishing (very slowly) and reappearing when I hover the top of the window? I just want it to stay there.

<comment><USER42> Right, that's a fullscreen thing only. I was getting it because i3wm puts Firefox in fullscreen mode when I do <Mod>+f.

Just remembered that about:config exists and disabled the vanishing menu.

</comment></comment><comment><USER18> How can we best contribute to the total removal and scrapping of WebExtensions in favor of a more robust XUL development environment? How can we contribute to Firefox not becoming another meaningless Chrome clone like Opera or Vivaldi? Because that's what I think would be the best success of Firefox, long-term.

<comment><USER4> I know you're sarcastic, but I'll try to answer anyway :)

> How can we best contribute to the total removal and scrapping of > WebExtensions in favor of a more robust XUL development environment?

I don't know if that would be possible. We're moving a lot of XUL around these days and we'll be moving even more, hopefully to HTML soon.

You'd have to gain trust in the community as a reliable person willing to maintain and keep relentlessly updating your addons APIs as the UI of Firefox moves underneath it.

> How can we contribute to Firefox not becoming another meaningless Chrome > clone like Opera or Vivaldi?

I assume by "another clone" you refer to the fact that we're switching to WebExtensions which is a system shared with other browsers. In that case, pick any of the bugs here: [https://bugzilla.mozilla.org/show_bug.cgi?id=1215059](https://bugzilla.mozilla.org/show_bug.cgi?id=1215059) and help us extend the API surface to support more features :)

> Because that's what I think would be the best success of Firefox, long-term.

I agree! We already support more APIs in WebExtensions than any other engine as far as I know. And we only started.

<comment><USER18> I'll be blunt. When you break compatibility with Classic Theme Restorer, Status-4-Evar, and QuickNote, I'm switching over, 100%, to Pale Moon. Between Australis and WebExtensions, Firefox has been moving farther and farther away from a browser I want to use. It's really getting to a point where I'm happier using Lynx.

</comment></comment></comment><comment><USER46> Mozilla has lost any good will they had with me, I'm actually dropping Firefox this year. The entire reason I switched to it was tab groups, which isn't getting ported over, so I'll be switching back to Chrome.

<comment><USER47> Simplified Tab Groups is being ported to WE:

[https://addons.mozilla.org/en-US/firefox/addon/tab- groups/](https://addons.mozilla.org/en-US/firefox/addon/tab-groups/)

[https://github.com/denschub/firefox- tabgroups/issues/60](https://github.com/denschub/firefox-tabgroups/issues/60)

</comment></comment><comment><USER48> Due to breaking XUL extensions with no adequate replacements, mouse gestures in particular, I recently switched from Firefox to Vivaldi.

After thirteen loyal years with Firefox as my primary browser they finally forced me away. Bye, Mozilla.

<comment><USER49> [https://addons.mozilla.org/en-US/firefox/addon/foxy- gestures...](https://addons.mozilla.org/en-US/firefox/addon/foxy-gestures/)

Works great on my nightly installation, but have fun with Vivaldi.

</comment></comment><comment><USER50> And yet, no Yubikey support, that they were hoping will land in November in stable.

<comment><USER51> So does that mean Mozilla don't use 2FA?

<comment><USER28> 2FA is actually globally enforced for all internal Mozilla accounts, IIRC--- it's just not done over U2F. I'm not sure whether the details are public so I can't elaborate further.

</comment></comment></comment><comment><USER52> It'd be easier to test and keep current with what Mozilla wants tested if they had a delta update for the nightly rather than a monolithic binary. For example if they jumped on board with delivering a flatpak version.

<comment><USER4> If you download nightly from nightly.mozilla.org, we'll keep offering you delta binary updates twice per day! :)

</comment></comment><comment><USER53> For people that need legacy addons like I needed LastPass, go to about:config and toggle _extensions.legacy.enabled_ to _true_

</comment><comment><USER54> first AMD with Ryzen and now FF. Working with nightly in the past few days and don't miss a thing. Of course not all plugins are ported yet, but ublock works already. keep up the phenomal work.

</comment><comment><USER42> Is OpenSearch support planned? Or is there an extension that does implement it?

<comment><USER42> Oh, nevermind, there's a different kind of OpenSearch support that seems very nice. I think I'll stay with Firefox this time.

</comment></comment><comment><USER55> Two words: Tab groups.

<comment><USER47> Simplified Tab Groups is being ported to WE:

[https://addons.mozilla.org/en-US/firefox/addon/tab- groups/](https://addons.mozilla.org/en-US/firefox/addon/tab-groups/)

[https://github.com/denschub/firefox- tabgroups/issues/60](https://github.com/denschub/firefox-tabgroups/issues/60)

</comment></comment><comment><USER56> It has been a while since I last tried compiling Firefox, so I don't know if things have improved. In some of my previous setup and build attempts I ended up giving up out of frustration. Just updating the docs would probably be of huge help to many users.

<comment><USER57> I'll add a +1 to this very issue. I likewise am not sure if it's still the case, but a few years ago I was looking into contributing some ES2015 implementations to the FF JS engine but couldn't get Firefox to compile based on the docs. I get that software development involves some amount of grit to grind out a problem and solve it, but to have to do so right at the beginning of possibly contributing to an open source project was asking just a bit too much of my free time and I bailed and have never made the attempt again.

<comment><USER4> Building SpiderMonkey is not hard at all today: [https://developer.mozilla.org/en- US/docs/Mozilla/Projects/Sp...](https://developer.mozilla.org/en- US/docs/Mozilla/Projects/SpiderMonkey/Build_Documentation)

The only issue is that you have to clone whole mozilla-central even if you only work with small part of it. But once you pull it, the building and hacking on it is quite easy :)

</comment></comment></comment><comment><USER58> And they need help in collecting theoretically anonymous data: [https://news.ycombinator.com/item?id=15071492](https://news.ycombinator.com/item?id=15071492)

<comment><USER4> We also need help in making it practically anonymous :)

<comment><USER59> And you need to submit complaints to your local data privacy official about this planned data collection which is not opt-in (and therefore violates the privacy laws).

If you live in the EU, submit a complaint to your local data privacy official, in Germany those are the Landesdatenschutzbauftragten and Bundesdatenschutzbeauftragten, for example, you can find the ones for Schleswig-Holstein here: [https://www.datenschutzzentrum.de/impressum/](https://www.datenschutzzentrum.de/impressum/).

Submit a complaint today, so that a legal process against Mozilla can happen before they implement this.

<comment><USER49> Section 28, (6) of the BDSG (German Federal Data Protection Act):

(6) The collection, processing and use of special types of personal data (Section 3 (9)) for own commercial purposes shall be admissible when the data subject has not consented in accordance with Section 4a (3) if

(...)

4\. this is necessary for the purposes of scientific research, where the scientific interest in carrying out the research project substantially outweighs the data subject's interest in excluding collection, processing and use and the purpose of the research cannot be achieved in any other way or would otherwise necessitate disproportionate effort.

\---

[https://www.gesetze-im- internet.de/englisch_bdsg/englisch_bd...](https://www.gesetze-im- internet.de/englisch_bdsg/englisch_bdsg.html#p0383)

\---

IANAL. Everyone may draw their own conclusions.

<comment><USER59> You quoted:

> The collection, processing and use of special types of personal data > (Section 3 (9))

BDSG Section 3 (9) says:

> (9) "Special categories of personal data" means information on a person's > racial or ethnic origin, political opinions, religious or philosophical > convictions, union membership, health or sex life.

This exception does not apply to behaviourial tracking, such as the list of the visited domains.

This is not legal advice, I am not a lawyer.

</comment></comment></comment></comment></comment><comment><USER60> I might give it a try again as usual every year at least once, but I always end up with conclusion Firefox is unresponsive, freezing and has problems with rendering compared to smooth experience with Chrome. I would be very happy to ditch app from Google, but if it's crashing, freezing and has basic problems I am not gonna waste time with firefox, Chrome just works.

So I hope I will be surprised and Firefox finally made some revolutionary changes.

Btw. it's even worse on Android, you will hardly find slower browser + there is no pull down to refresh page which is showstopper for me and even with plugins there was no way to implement it.

</comment><comment><USER61> It's really sad. I love Firefox, but I think when 57 releases, it'll mark the beginning of the end before everyone switches to Chromium, when they realize it's easier to switch browsers than to find alternatives for all their extensions due to Mozilla's way-too-early deprecation of the existing extension API before many developers are able to switch APIs. Many extensions simply cannot be switched, like Vimperator, due to lack of features in the WebExtensions API or the complexity of the change. Other extensions were developed as one-off projects, like "Google Similar Images" or "Remove Google Redirect in Google Results", so their developers are not around anymore to update to WebExtensions.

That and Mozilla's search for "anonymized personal data" kill the benefits of using Firefox in the first place, which for most people is to avoid using Chrome/Chromium, made by a conglomerate advertisement company. Just last week, I updated to 56 beta and despite disabling Pocket in my about:config, advertisements for news companies (Wired, etc) were displayed thanks to Pocket's "popular news articles" section in my previously blank New Tab page! Even Chrome does not force bundled software like Pocket, despite their stronger incentives for doing so.

I downloaded nightly 57 and it gave me a preview of how bad the extension situation really is. It's like a forced downgrade to a completely different browser, so why not switch to something entirely different at that point? This is what I'll be forced to do, after certificates expire in a few years in the then-out-of-date stable 56 distribution.

<comment><USER62> I'm really not sure and curious how much extensions are actually used in practice. Personally, I use Chrome with 1password, that's it.

Extensions scare me. They're a huge potential invasion of privacy, especially with recent hijackings of Chrome extensions in the store.

I'm also more confident that Mozilla will always listen to users, and give us the necessary opt-outs. I really don't trust Google as much.

<comment><USER61> [https://blog.mozilla.org/addons/2011/06/21/firefox-4-add- on-...](https://blog.mozilla.org/addons/2011/06/21/firefox-4-add-on-users/) Here's an article from 2011 claiming that 85% of Firefox users have extensions installed and will thus be bothered by the change, and on average, users have 5 addons installed. It is my gut estimate that half of these addons have no replacement or a worse replacement.

As for the opt outs, this may be true for most things, but I am not able to opt entirely out of Pocket's "Recommended by Pocket" trending adverts, nor am I able to turn off Firefox's addon signing requirement to develop or try new addons from GitHub, unless I download a tweaked build version of Firefox.

<comment><USER4> I do not have numbers for how many users use extensions, but my gut feeling is that it's much lower than it was in 2011. We've been moving to e10s over last months enabling it for users who don't have legacy addons (so, they either don't have addons or they have e10s modern addons).

I found a status update from the e10s meeting from Jun 2nd - [https://wiki.mozilla.org/E10s/Status/June2](https://wiki.mozilla.org/E10s/Status/June2)

It indicates that over 60% of beta users had e10s activated which can only be activated for users who don't use old extensions. Based on the telemetry data it seems that only 3% were not eligible. I'm not involved in e10s project so I don't know the details and updates, but I believe that the number of users affected is actually quite low (which doesn't mean irrelevant, just that majority of users won't be affected).

> As for the opt outs, this may be true for most things, but I am not able to > opt entirely out of Pocket's "Recommended by Pocket" trending adverts

In the home tab? The icon on the top-right corner allows you to uncheck the "Recommended by Pocket" and "extensions.pocket.enabled" about:config option allows you turn off pocket completely.

Now, that we own Pocket, I hope we'll merge it more seamlessly into Firefox Accounts because I feel like the sole fact that it uses it's own brand name makes it feel like Firefox comes with a separate piece of software bundled.

<comment><USER61> `extensions.pocket.enabled = false` does not disable the "Recommended by Pocket" checkbox. I was not expecting Pocket telemetry to continue to work with this set to off.

<comment><USER4> Interesting. It does for me. It's not only disabling it, The "Recommended by Pocket" doesn't even show up in the about:home sidebar.

Can you try restarting the browser, and if it doesn't help, file a bug pls?

<comment><USER61> Filed: [https://bugzilla.mozilla.org/show_bug.cgi?id=1396336](https://bugzilla.mozilla.org/show_bug.cgi?id=1396336)

<comment><USER4> thank you! :)

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER51> It seems a bit awkward to me when Mozilla keep asking for contributors. They're profiting from Firefox (via the huge search engine deal), it's in really poor taste when such organisations then beg for contributors. They have enough money to employ people to keep their product going... Kinda the same with e.g. Facebook's open source projects, although I guess there are worse places to contribute (and FB's projects might actually be useful for other companies work - hence contributing isn't a complete waste of time).

My only exception would be scratching my own itches, but here they're asking for help with company goals.

<comment><USER4> Hi! I'm the author of the post.

So, it's not "asking for help", it's informing how you can help. I'm also not "begging for contributors" or asking to help with "company goals", I'm suggesting ways to help with our current major release. If we're successful, it should make the whole Web better thanks to bringing more competition and choice to the user.

Major open source projects are actually fun to work with for many people. They're very challenging not just because of problems you solve, but also because of the massive project culture and technical infrastructure in place that you learn in the process. That learning helps people grow as engineers. Also the feeling that you made an impact on the lives of millions of users is quite awesome. For others, they're already Firefox users and it's just about fixing a bug that was itching them.

So, generally speaking, there are reasons to help major open source projects, even if they can afford to hire full time engineers as well.

Two side notes:

1) We're _way_ , _way_ smaller than all our competitors. The number of engineers that Google, Apple and Microsoft can hire to work on their browser engines is significantly higher than what Mozilla can do. We can't compete and never will be able to. That's why, beside of our culture and Mozilla Manifesto, we rely on our ability to attract contributors. 2) It's a chicken and egg. Keeping the project really open (not technically open as in - we'll dump the source code to github every once in a while), requires continuous effort. Having a healthy community of contributors is important for our project culture to stay open. If people stop contributing, some things will naturally decay into less open state making it harder in the future for new contributors to come in. And I'm not even talking about code only. Mozilla's marketing, engineering, privacy, security, UX and other projects are working in the open.

<comment><USER51> My comment wasn't specifically targeted at your blog post, more the general impression I've been getting of Mozilla. And sure, Mozilla is more open than Apple and MS, and probably a bit more open than Google.

But fundamentally, Firefox decisions are made by Mozilla employees, to further the goals of the Mozilla company (which makes money from those decisions - sure, to be hopefully reinvested). Firefox isn't like those other large open source projects where the codebase and thus decisions are owned by many independent (and mostly commercial) entities. Outside contributors have very little say in the product, so I wouldn't say its any better for people to contribute to Firefox vs e.g. Chrome. I.e. Mozilla wants their code - but in the many cases that have become publicised it doesn't seem like Mozilla wants their opinions.

(This is probably just the reality of end-user facing software projects with major UX components. But it's still sad to see contributors being invited in when they'll be ignored in the decision-making.)

// Edit: and it looks like fabrice_d made pretty much the same point while I was writing my comment : )

<comment><USER4> Yeah, I see what you're saying.

I think there's a deeper debate that Mitchell is running over the last few years at Mozilla, and that's how to find a balance between "your voice is heard" and "someone is making a decision".

If you voiced your opinion, and the decision has been made that is not in line with it, it's _very_ easy to feel that "my voice didn't matter. Mozilla doesn't want my opinion".

I believe that it's a fallacy of communication.

So, in total. Sure, as the project grows and priorities change, we get to a more structured way of making decisions. It's getting harder for a casual contributor to steer the decision in a completely different direction. But I do not believe that it's any different from Fedora, Wikipedia, Gnome, KDE, Wordpress or any other open source tech. When you're a 10-person github project, it's easy to say that anyone can file an issue and change the course of it. When you're a multihundred million users project with 20 years of legacy code, and thousands of contributors, it is harder to see the connection between your opinion and the result.

But I do believe that if you gain trust in the community, and use the right forums (and I realize that finding the right forum to voice your opinion is not easy), you do have an impact. Even if the final decision is not in line with it, which will happen, unless you and the decision owners are always 100% correct.</comment></comment></comment></comment>


Why the SEC is going after Elon Musk and why he's losing his most ardent fans - <AUTHOR> https://chatstarter.com/post.php?post_id=1557892 <comment><USER2> This isn't about whether the SEC likes or dislikes Musk. This is about the ability of public company investors to rely on a modicum of good faith that the official statements of public company CEOs aren't pure BS or stock manipulation. In this case an inference of intentional stock manipulation to hurt "shorts" has a fair bit of merit.

If investors need to wonder if a CEO can say anything without any ramifications then public markets break down. The cost of capital goes up for the entire investment universe. This is serious stuff.

Tesla investors need to realize there is a broader world beyond their one obsession.

</comment><comment><USER3> I don't like the implications that his tweets are what cause all of the stock's price movements. Sometimes they obviously have an impact, with his infamous $420 privatization tweet being the best example, but as for the last few days of the market, stocks were down significantly across the entire market, and TSLA has always been very volatile. Tweets can have an effect but it's not fair to simply look at a tweet, then notice that the stock is down 5% today, then assume that is causation instead of correlation. I'm not denying his tweeting may be very influential, but there's much more to the market price than just that.

</comment><comment><USER4> This reads like the ramblings of an Musk fanboy who can't accept that his hero has an ego the size of Texas.

> When Elon was criticized by Vernon Unsworth, my speculation is that some of > Elon's circle sent him some info that linked Vernon to the child sex > industry. One speculation could have been that there was a photo of Vernon > with some young Thai girls on a bed.

Completely baseless speculation.

> In other words, if Vernon wasn't a pedophile then that would come out

You can't prove a negative.

> What Elon should have done was if he had evidence that Vernon was a > pedophile, then he should have shared that evidence with the public. He > could have "leaked" the evidence to the media. Or Elon could have hired a > private investigator to gather the evidence.

Yes, he should have. If there was evidence he should have handed over to the authorities and I'm sure one of his many lawyers told him the same thing. So either there is no solid evidence or he thinks playing To Catch a Predator on Twitter is a better idea than going to the police.

> Thus, opposing Elon has now become a moral issue… something a growing number > of people feel like they need to do to protect justice and reign in an > abusive billionaire. This is very sad, because it's not Elon's intention to > be unjust or to spread baseless accusations.

You have no clue what his intentions are. It's totally possible you are correct, but it's also totally possible that he's got a giant ego and got in a pissing contest and went a little to far with his insults, or one of a million other possibilities. This whole article is just wild baseless speculation.

> In other words, the SEC case isn't necessarily just about the "funding > secured" tweet by Elon.

I'm pretty sure it's mainly about the fact that he tweeted something that was clearly not true to the world (Funding was not actually secured) to drive his stock price up and screw over short sellers.

> They're going after Elon because of "funding secured" because they think > they have legal grounds to make a strong case.

Yes, they have strong legal grounds to go after him because he broke the law.

> The SEC is just trying to solve a problem, and they're doing it the best way > they know how, even if it's overboard.

Nothing the SEC did was overboard. Pretty much every single publication I read was amazed by how light the SEC's initial offer was and even the offer he finally ended up taking could have been so much worse. Elon being barred from being the CEO of any publicly traded company was a very real possibility.

Look, maybe you're right. Maybe the media, the market, the SEC, and some high level government officials are all out to get Elon because they don't like how eccentric and awesome he is while he changes the world or maybe he keep getting in trouble and is losing popularity because he keeps breaking the law.

Personally, I choose to believe that he's a very smart dude who recently went from being a scientist and CEO to being a celebrity and it's gone to his head. Now that he's on top of the world and has millions of fans, he's handling it in the same way teen pop stars do.

As he makes more and more enemies and then claims the world is out to get him, I can't help but think about the following quote.

"If you run into an asshole in the morning, you ran into an asshole. If you run into assholes all day, you're the asshole."

</comment><comment><USER5> I think Musk knows what he is doing. He is obsessed with the short sellers and is most likely playing them through this. Yes the SEC took a whack at him. Probably all part of the plan.

</comment><comment><USER6> I like Elon more today than a month ago when I didn't know much about him, so he is still gaining fans. A bit like Alex jones is still gaining fans after being demonized by social media.</comment>


Startup School: Paul Buchheit Wings It, Tells Us What He's Learned - <AUTHOR> http://www.techcrunch.com/2009/10/24/startup-school-paul-buchheit-on-why-he-sold-to-facebook/

<comment><USER2> I'm seen him speak several times now, and he's definitely one of the best natural speakers I've ever seen. I pretty much always learn something, and laugh a lot. He's just wired up that way, as he's the same (though lower key) in personal conversation.</comment>


We built the FusionAuth brew Formula (with 50% more code) - <AUTHOR> https://fusionauth.io/blog/2019/04/18/building-fusionauth-homebrew-formula <comment><USER2> Nice writeup. Brew is fantastic on macOS, do you have something similar on Windows?</comment>


Google Centralizes Privacy and Security Controls on New Web Dashboard - <AUTHOR> http://techcrunch.com/2015/06/01/google-centralizes-privacy-and-security-controls-on-new-web-dashboard/

<comment><USER2> This is a nice step, sure, but doesn't provide for my #1 concern: I want to protect my data from _Google_ , not legitimate people. Work on that one, Google...</comment>


SlimerJS: a replacement for PhantomJS using recent Firefox - <AUTHOR> https://slimerjs.org/ <comment><USER2> At this point you should really be looking into Google's Puppeteer - [https://github.com/GoogleChrome/puppeteer](https://github.com/GoogleChrome/puppeteer)

One of the most active browser automation libs out there and it's just a pure joy to use =)

<comment><USER3> puppeteer only supports Chorme so you will need to use Slimer if you wish to use Firefox.

<comment><USER4> Correct for now. However...

Firefox did start investigating supporting the Chrome DevTools Protocol: [https://groups.google.com/d/topic/mozilla.dev.platform/4-4A8...](https://groups.google.com/d/topic/mozilla.dev.platform/4-4A8W-nP5g/discussion)

We (Chrome DevTools/Puppeteer team) have had detailed discussions with their DevTools team on this, recommending what subset would enable Puppeteer. I don't know where they are with this, but in the long-term, this solution looks most promising.

<comment><USER2> Firefox/Mozilla has been doing a great job with cross-browser initiatives like the WebExtension APIs, and dipping their toes into CDP. I am STOKED to hear you guys have been having cross-team conversations on these details!

Shameless fanboy moment: have followed your stuff for years, and I absolutely love the products your team(s) put out (CDP/Puppeteer)!

<comment><USER4> Aww thanks amigo! Thanks v much. Plz holler my way if there's anything we can do better.

The devtools teams (Chrome, FF, Safari, and Edge) actually talk quite a bit. We collaborate on the console spec [0] and keep each-other in check on feature parity. ;)

[0] [https://github.com/whatwg/console](https://github.com/whatwg/console)

</comment></comment></comment></comment></comment><comment><USER5> Glad to see there's an alternative to headless Chrome that's not tied to Google in any way.

<comment><USER6> Without being too cynical, is the fact that Mozilla receives most of their funding from Google not relevant when considering Google's influence?

<comment><USER7> Not funding. Revenue.

What influence are you talking about? Can you be more specific?

</comment></comment></comment><comment><USER8> Does this support FreeBSD? The docs say it's supports anything that can run Firefox so I would think yes. I can't check cause I'm in a car for the next 6 hours. But if this supports FreeBSD I would definitely use it over puppeteer because puppeteer does not support FreeBSD and it doesn't really look like they care to add support [1].

[1]: [https://github.com/GoogleChrome/puppeteer/issues/1049](https://github.com/GoogleChrome/puppeteer/issues/1049)

</comment><comment><USER9> How does SlimerJS compare to Selenium which is truly cross-browser and the cornerstone of our internal web automation tests?

<comment><USER10> Afaict the difference is that slimerjs uses Firefox Headless while Selenium spins up the entire browser.

For Web Testing spinning up the browser is okay, for some other tasks using just a headless version can be good enough.

<comment><USER9> Selenium can also use headless if you use the MOZ_HEADLESS environment variable.

</comment></comment></comment><comment><USER11> so I have an upcoming side project that will heavily leverage scraping/screenshotting and I plan to use either headless chrome or slimerjs. It will be a Rails app, queueing up lots of sidekiq jobs, that I (presumably) will have calling a headless browser instance, probably running in a container. Ideally I'll run this either on Heroku or even better, just a DO droplet running dokku.

I found browserless.io and the supporting github project over the weekend, looks promising.

Who else is doing this? Is the architecture I just touched on the right way to go about doing this? Or should I have each sidekiq job spin up its own browser container for the scraping job?

Also, chrome vs firefox won't really matter in this instance, but reliability/performance/memory will...any recommendations?

<comment><USER12> I built [https://github.com/danielwestendorf/pdf-bot- pro](https://github.com/danielwestendorf/pdf-bot-pro) a few days ago, a scalable 1-click heroku deploy rewrite of pdf-bot. It's fully functional, except I built the background queuing on Faktory, and there is not working Faktory add-on available for heroku yet (and thus, no real promotion of the project yet). You could set up a faktory server elsewhere and define the URL as an ENV var and it would work today.

<comment><USER11> Nice thanks for the link. So if I'm understanding correctly, your app essentially runs as a standalone api, receiving pdf requests, queueing them, processing them, then hitting a specific webhook url on success for other systems to then query the pdf tool to get the resulting pdf.

This is approximately how I was thinking of settings thing up as well, so thanks for this!

<comment><USER12> Yup, exactly.

</comment></comment></comment></comment><comment><USER13> The "simple example" on the front page uses promises which silence all exceptions by default. Not a good idea. Futhermore, with synchronous operations the code would be much simpler.</comment>


Create Professional Lead Magnets in Minutes - <AUTHOR> http://www.beacon.by/ <comment><USER2> Wow! Magnets made out of lead! Oh... Slightly disappointed.</comment>


Ask HN: What is the best minimal hardware to run Docker on? - <AUTHOR> I like to run (only one) docker container on a very small hardware device (e.g. TP-LINK TL-MR 3020 or something similar)<p>Any suggestions for me? Thanks in advance <comment><USER2> Use systemd and related tools instead of docker? ( which is primarily a wrapper around these tools and a distribution hub with network effect )</comment>


JPS+ pathfinding – faster than A* [video] - <AUTHOR> http://www.gdcvault.com/play/1022094/JPS-Over-100x-Faster-than <comment><USER2> Allowing precomputation seems a little suspect, or at least difficult to incorporate into a comparison. I could offline precompute all pairs shortest path, then I'll be 10^6 faster than Astar, for example. Where do you draw the line? In the Q&A someone asks this, and points out that the precomputation in the video has a lot/all of the shortest paths stored. The speaker says that requires too much memory to store - so basically, arbitrary line here (what is too much?)

Another problem is with heuristics in general: if you are not guaranteed to find an optimal path (which is possible with Astar variants), then you have a two-dimensional way to understand heuristics: run time, and solution quality. e.g. I can give you a bad path very fast.

Finally, implementation data structures and language. Two people implementing the same algorithm in different languages are going to have different performance.

Here is a preprint that addresses these questions for heuristics for two NP- hard problems (MAXCUT and QUBO): [http://www.optimization- online.org/DB_FILE/2015/05/4895.pdf](http://www.optimization- online.org/DB_FILE/2015/05/4895.pdf)

<comment><USER3> This isn't a heuristic search, it's guaranteed to find an optimal path the same as A*. More generally, this isn't a talk for theoreticians, this is another tool in the toolbox for game AI engineers, and personally I find it very clever. Whether you can afford the memory cost for the precomputed data is a question that must be answered in the specific context of your application.

<comment><USER2> Agree that everything must be contextualized. My point is, you saw this presentation and liked it because it seems like a good idea, and the performance is apparently good _relative_ to something else. For an engineer (or a theoretician) to reason about that claim of improved performance there needs to be a systematic way to understand it. All I'm saying is that way this was done doesn't allow us to understand it very well - precomputation being a big part of that.

</comment></comment></comment><comment><USER4> On road networks (Google Maps style routing) much much bigger gains have been achieved. Taking things to an extreme, Hub Labelling achieves sub-microsecond query times on continental-scale road networks [1]. More flexible algorithms (e.g. Multi-Layer Dijkstra aka Customizable Route Planning, which Bing Maps supposedly uses) achieve sub-millisecond query times, with preprocessing times for new metrics less than a few minutes. This allows full timely integration of traffic information etc.

On a 2D grid, there are a few differences, but even modeling it as a graph and applying road network algorithms (even simple ones like Landmark Routing) sounds like it would yield similar, if not better speedups.

[1] [http://research.microsoft.com/apps/pubs/default.aspx?id=1456...](http://research.microsoft.com/apps/pubs/default.aspx?id=145689)

<comment><USER5> It would be nice if Google Maps started doing a decent job, though. I lived for years in NJ and I would typically require 3 roads and 20 minutes to get anywhere I needed to go shopping because I would drive to the highway, hop on, get off on the road to my destination, then be there. Even if I avoided the highway I would get there in 30 minutes with smaller roads, taking the minimum needed to go the right direction toward the destination.

Google Maps? It was a disaster. It would take the small roads since it couldn't bear to drive 2 blocks the wrong direction to get on the highway, then every small road it would alternate taking a left and a right and end up with dozens of turns when a human only needed 3 or 4. I actually met the ex- Googler who bragged about writing that algorithm that alternates left and right, I think he must be responsible for millions of hours of lost time for drivers just because he didn't realize turning has a cost and was trying to draw a diagonal as best he could.

Does it really make sense to brag about fast calculation speed when the calculation is a disaster? I'd rather wait a minute for a calculation and get the right one, than have the wrong one back in 3 seconds. I think the Google Maps engineers don't understand this.

<comment><USER4> Actually, the algorithms used are provably optimal _in regard to whatever metric is plugged into them_. This means that no matter which of these algorithms you use (including Dijkstra or A*), you will get the exact same result. The difference is in the time and space required for precomputation vs at query time. That includes Contraction Hierarchies, which Google Maps uses (or used?). But if they screw up the optimization metric, then the algorithm can't save them either.

</comment></comment></comment><comment><USER6> It's a bit misleading to call this faster than A* since it is still using A* under the hood. Most optimizations to path finding with A* involve changing the world representation somehow. Most do not use a simple grid, with navigation meshes being more common.

Very clever though, I like it.

<comment><USER7> It's also misleading because nothing optimal is faster than A* . Quote from AIMA:

" _A∗ is optimally efficient for any given consistent heuristic. That is, no other optimal algorithm is guaranteed to expand fewer nodes than A∗ (except possibly through tie-breaking among nodes with f(n) = C∗). This is because any algorithm that does not expand all nodes with f(n) < C∗ runs the risk of missing the optimal solution."_

<comment><USER8> In the general setting A-star is optimal. JPS (and JPS+) can speed it up if you have additional information about the topology of the search space: 1) search is on a rectangular grid, and 2) movement between adjacent grid squares has uniform cost. In that case, you can take advantage of certain properties/symmetries of a rectangular grid to safely "skip" parts of the expansion that A-star would normally do, while still being guaranteed to find the optimal solution.

The JPS paper from a few years ago explains in more detail: [http://users.cecs.anu.edu.au/~dharabor/data/papers/harabor-g...](http://users.cecs.anu.edu.au/~dharabor/data/papers/harabor- grastien-aaai11.pdf)

</comment></comment></comment><comment><USER9> [https://github.com/SteveRabin/JPSPlusWithGoalBounding](https://github.com/SteveRabin/JPSPlusWithGoalBounding)

</comment><comment><USER10> [http://mikolalysenko.github.io/l1-path- finder/www/](http://mikolalysenko.github.io/l1-path-finder/www/)

</comment><comment><USER11> But how does it compare to A* on a reduced[1] visibility graph?

[1] [http://kovan.ceng.metu.edu.tr/~kadir/academia/courses/grad/c...](http://kovan.ceng.metu.edu.tr/~kadir/academia/courses/grad/cs548/hmws/hw3/vg/node3.html)

<comment><USER12> That page claims it's about 40% faster than A*. Multiply through the ratios and you'll have your answer. (1000x faster is a lot more than .4x faster, so I guess it compares quite favorably.)

<comment><USER11> That's for A* on a complete visibility graph, which is much faster than on a uniform grid. I only added the link so that the reduced terminology is clear to everyone.

</comment></comment></comment><comment><USER13> Precomputation takes O(n^2) complexity so this is great for static environments like Starcraft maps where the units don't evaluate units in their path finding.

<comment><USER14> Starcraft maps aren't static, as buildings and characters can block paths.

<comment><USER13> Maps themselves are static.

</comment></comment></comment><comment><USER15> As a side note, I love the index on the left hand side of the player, that lets me quickly jump to any section of talk, instead of having to fish for the part when he starts talking about the algorithm, for instance. An awesome feature I wish other websites had too.

<comment><USER16> Same note, at first I was like "another video I won't watch watch because I'm only curious about one point of the talking" then I saw the menu. Very cool feature, greatly optimize user experience in a simple way

</comment></comment><comment><USER17> I love the connections to the continuum case where these problems show up looking like ways of solving path integrals, Huygens principle, etc. In particular, some of these jump point rules look alot like diffraction (of a wave) around a boundary.

<comment><USER17> Ah, and it seems to be connected to ray marching also, as demonstrated so well by the fractal lab guy: [http://sub.blue/fractal-lab](http://sub.blue/fractal- lab)

<comment><USER18> How is it connected to ray marching?

I'm curious; my own playing with the area: [http://williamedwardscoder.tumblr.com/post/26628848007/rod-m...](http://williamedwardscoder.tumblr.com/post/26628848007/rod- marching) [http://williamedwardscoder.tumblr.com/post/28935319219/rod-m...](http://williamedwardscoder.tumblr.com/post/28935319219/rod- marching-on-the-gpu)

Would like to make it faster :)

<comment><USER17> I just think it is interesting to consider all these path finding algorithms, and compare/contrast them. So with ray marching, we already have access to a "distance" function. And it's not one but many targets we are looking for. It does seem to me like JPS tries to do something similar, the cacheing of jump points looks alot like the distance function, and now we are going to cast rays out looking for the target point, and let rays "bend" around corners, etc.

</comment></comment></comment></comment><comment><USER19> On a side note, you can increase performance of presentations by 25% by not leaving time for questions. I find Q&A is often the best part and I wish the conferences left more time for it.

<comment><USER20> Did you mean by leaving time rather than "by not leaving time"?

</comment></comment><comment><USER21> I believe JPS only works for unweighted graphs, so you can only compare it to A* for that particular case.

<comment><USER8> More specifically, JPS works on unweighted _grids_ (not arbitrary graphs). That allows it to use properties of a grid topology to figure out where it can safely "jump" without sacrificing optimality.

</comment></comment><comment><USER22> > uniform cost grids

There are very many grids that do not fit this in real (not theoretical) applications. I honestly can't think of when I'd use this algorithm.

<comment><USER17> Well, yeah, but the whole question of extending this algorithm to arbitrary (weighted) graphs is still very interesting: it seems to rely on some kind of discrete [1] version of parallel transport.

[1] [http://ddg.cs.columbia.edu/](http://ddg.cs.columbia.edu/)

</comment></comment><comment><USER23> seems like optimizing something always involves precalculations.</comment>