Is there any code in Firefox (as of 2020) that comes from Netscape Navigator? - <AUTHOR> https://retrocomputing.stackexchange.com/questions/14229/is-there-any-code-in-firefox-as-of-2020-that-comes-from-netscape-navigator <comment><USER2> > In fact, if my calculations are correct, out of 65,745 lines in the original > nsprpub, 36,046 are present unchanged in the current version of nsprpub, > i.e. 54.8%.

This supports the statement that code is read many times more than written. So think about that when trying to be clever.

<comment><USER3> Clear is better than clever. Unfortunately there is no agreement on what is clear and what is clever. I think arrow functions in JS are more clever than clear, but I've had people tell me that my opinion is mistaken.

<comment><USER4> is this because you think having one dynamically scoped variable is clearer than having 0?

<comment><USER5> I think arrow functions are less clear because they are always anonymous functions. Anonymous functions complicate stack traces and performance profiles.

<comment><USER6> They can't be named in the same standalone way that non-arrow function expressions can, but they do acquire names in some positions that get used in stack traces and profiles.

      > ({ literalProperty: () => {} }).literalProperty.name
      'literalProperty'

      > ({ ['computedName']: () => {} }).computedName.name
      'computedName'

      > const variable = () => {};
      > variable.name
      'variable'

So if you want to name an arrow function, you can usually assign it to a variable.

<comment><USER5> That is three examples of assignments. The arrow functions remain anonymous.

* [https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Function/name)

* [https://developer.mozilla.org/id/docs/Web/JavaScript/Referen...](https://developer.mozilla.org/id/docs/Web/JavaScript/Reference/Functions/Arrow_functions)

<comment><USER7> Your parent specifically talked about giving it a name in thte stack frame. And assigning an anonymous function to a constant/object and using it through that assignment will cause the stack trace to show a name.

<comment><USER5> The only way to arbitrarily generate a JavaScript stack trace without an error, in both modern browsers and Node, is the following code sample. In order to prove the output of a stack trace you need logic that actually produces a stack trace.

       new Error().stack

The following demonstrations take the prior examples and put the stack call into the arrow function bodies and wrap that in an arbitrary function for an additional line in the stack trace output.

The first example assigns the arrow function to an object property. And then generates the name of the object's property name. This does nothing to describe the function. Here is a better example:

        var stack,a=function(){({ myProperty: () => {stack = new Error().stack;} }).myProperty();};a();stack;

In the browser that outputs:

        "myProperty@debugger eval code:1:59
        a@debugger eval code:1:82
        @debugger eval code:1:102

Its a bit more clear in Node's REPL

        'Error\n' +
          '    at Object.myProperty (repl:1:59)\n' +
          '    at a (repl:1:82)\n' +
          '    at repl:1:102\n' +
          '    at Script.runInThisContext (vm.js:120:20)\n' +
          '    at REPLServer.defaultEval (repl.js:432:29)\n' +
          '    at bound (domain.js:429:14)\n' +
          '    at REPLServer.runBound [as eval] (domain.js:442:12)\n' +
          '    at REPLServer.onLine (repl.js:759:10)\n' +
          '    at REPLServer.emit (events.js:333:22)\n' +
          '    at REPLServer.EventEmitter.emit (domain.js:485:12)'

Essentially the stack traces represent a method call as designated by a function whose identity is bound to an object property, but the function itself remains unnamed. The second example is logically identical to the first except for the minor syntax difference of array notation versus a word type variable name.

The third example is logically different than the prior two examples:

        var stack,a=function(){var myVariable = () => {stack = new Error().stack;};myVariable();};a();stack;

Browser: "myVariable@debugger eval code:1:51 a@debugger eval code:1:71 @debugger eval code:1:81

Node: 'Error\n' \+ ' at myVariable (repl:1:51)\n' \+ ' at a (repl:1:71)\n' \+ ' at repl:1:81\n' \+ ' at Script.runInThisContext (vm.js:120:20)\n' \+ ' at REPLServer.defaultEval (repl.js:432:29)\n' \+ ' at bound (domain.js:429:14)\n' \+ ' at REPLServer.runBound [as eval] (domain.js:442:12)\n' \+ ' at REPLServer.onLine (repl.js:759:10)\n' \+ ' at REPLServer.emit (events.js:333:22)\n' \+ ' at REPLServer.EventEmitter.emit (domain.js:485:12)'

The output of assigning an arrow function is identical, in both environments, to assigning a regular anonymous function:

        var stack,a=function(){var myVariable = function () {stack = new Error().stack;};myVariable();};a();stack;

That is different than assigning to a named function:

        var stack,a=function(){var myVariable = function myFunctionName() {stack = new Error().stack;};myVariable();};a();stack;

        'Error\n' +
          '    at myFunctionName (repl:1:76)\n' +
          '    at a (repl:1:96)\n' +
          '    at repl:1:111\n' +
          '    at Script.runInThisContext (vm.js:120:20)\n' +
          '    at REPLServer.defaultEval (repl.js:432:29)\n' +
          '    at bound (domain.js:429:14)\n' +
          '    at REPLServer.runBound [as eval] (domain.js:442:12)\n' +
          '    at REPLServer.onLine (repl.js:759:10)\n' +
          '    at REPLServer.emit (events.js:333:22)\n' +
          '    at REPLServer.EventEmitter.emit (domain.js:485:12)'

And both of those are different to anonymous functions not assigned to a variable. Both of the following examples produce the same output:

        var stack,a=function(){(function () {stack = new Error().stack;}());};a();stack;

        var stack,a=function(){() => {stack = new Error().stack;};};a();stack;

        'Error\n' +
          '    at repl:1:46\n' +
          '    at a (repl:1:65)\n' +
          '    at repl:1:71\n' +
          '    at Script.runInThisContext (vm.js:120:20)\n' +
          '    at REPLServer.defaultEval (repl.js:432:29)\n' +
          '    at bound (domain.js:429:14)\n' +
          '    at REPLServer.runBound [as eval] (domain.js:442:12)\n' +
          '    at REPLServer.onLine (repl.js:759:10)\n' +
          '    at REPLServer.emit (events.js:333:22)\n' +
          '    at REPLServer.EventEmitter.emit (domain.js:485:12)'

You can see in the first anonymous function example that an IIFE (immediately invoked function expression) is used. Function's require identity, aside from 3 exceptions, otherwise they throw an error. The three exceptions are arrow functions, IIFE, and function arguments.

So much of this discussion is nonsense though, because it doesn't make sense to arbitrarily complicate your code with unnecessary objects merely to provide your anonymous arrow functions with identity. The whole point of arrow functions is to reduce syntax and thereby provide easier to read code, which only the third of those three examples provide.

It is also helpful to understand that a function's name is an identity known to the function, which means it is available to the internal logic of the function as a local reference and not a scoped reference. The identity of a variable name to which a function is assigned will always be a scoped reference, and that distinction also results in different output in stack traces.

Furthermore, none of those examples demonstrates the most important use case, callbacks, or functions as arguments to event handlers. In Node the callbacks become nested very quickly and often times many layers deep. Each use of an arrow function is an anonymous line in the call stack and several layers of anonymous calls is less helpful to read. It's not hopeless because the stack trace provides the location of each call, but you have to dive into the code on each line mentioned to see what is actually happening instead of just reading the function names from a more helpful stack trace.

<comment><USER6> This seems like a very verbose retread.

What I was saying is if you are currently using a named function:

      function foo(bar) {
          // …
      }

you don't lose the name by making it an arrow function:

      const foo = bar => {
          // …
      };

and yes, you can name your callbacks and event handlers like this before passing them to functions. Introducing variables to name values (any values, not just functions) doesn't really complicate code. Many times, it can be a readability improvement.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER8> I saved some choice examples of code from the awful X-Windows version of Netscape Navigator, on my Motif Angst Page:

[http://art.net/~hopkins/Don/unix- haters/x-windows/motif.html](http://art.net/~hopkins/Don/unix- haters/x-windows/motif.html)

Including some classic comments like:

        /* sets the parent window to 0 to fool Motif into not generating a grab */

And:

        /*
         *    This is a horrible function which should not be needed.
         *    use it to put the resize method back the way the XlwMenu
         *    class initializer put it. Motif screws with this when
         *    the XlwMenu class gets instantiated.
         */

<comment><USER9> As Motif expertise is now an obsolete skill, I don't think this ages well. Short version: in some places, they don't like how the library works. In others, they are working around library bugs. In all cases, they seem _severely_ pissed off about it, which is probably a bigger issue than Motif.

<comment><USER10> Most of the anti-Motif comments are by jwz.

<comment><USER9> I've generally liked his technical rants and writings. These don't really land with me though. Maybe he was frustrated with some deadlines or something.

<comment><USER11> There is a reason that anybody who dealt with it called it Mogrief.

An entire GUI toolkit was written from scratch simply to replace Motif (Gtk).

This should tell you what you need to know.

<comment><USER12> It was more to it than Motif being painful, though. Motif was not open, and the open reimplementation (LessTif) was buggy.

<comment><USER8> Another buggy painful non-open reimplementation of Motif, which arguably had the silliest name of any user interface toolkit in the entire universe, was Sun's and AT&T's (Unix System Laboratories) "MoOLIT", the Motif Open Look Intrinsics Toolkit, that let you switch back and forth between those two different competing looks and feels (both of which sucked in their own ways), and which was based on "OLIT", then Open Look Intrinsics Toolkit, which itself was based on the horrible X Toolkit Intrinsics (Xt), which was the root of all evil.

>MoOLIT (Motif OPEN LOOK Intrinsics Toolkit) is a graphical user interface library and application programming interface (API) created by Unix System Laboratories in an attempt to create a bridge between the two competing look- and-feels for Unix workstations at the time: OPEN LOOK and OSF Motif.

>The library provided common GUI features such as boxes, menus, lists, and buttons, but allowed users to choose which look and feel they wanted at runtime. It was a short-lived project, as the industry was moving towards Motif as the de facto GUI standard, a trend culminating in the COSE initiative in 1993.

Of course if you just wanted a laugh at the name, you could also use the X Anathema Widgets (Xaw) toolkit, but I think MoOLIT was funnier. I cracked up every time I saw some Sun marketing droid in a tie seriously talking about it.

[https://en.wikipedia.org/wiki/MoOLIT](https://en.wikipedia.org/wiki/MoOLIT)

[https://en.wikipedia.org/wiki/OLIT](https://en.wikipedia.org/wiki/OLIT)

[https://en.wikipedia.org/wiki/OPEN_LOOK](https://en.wikipedia.org/wiki/OPEN_LOOK)

[https://en.wikipedia.org/wiki/Motif_(software)](https://en.wikipedia.org/wiki/Motif_\(software\))

[https://en.wikipedia.org/wiki/X_Toolkit_Intrinsics](https://en.wikipedia.org/wiki/X_Toolkit_Intrinsics)

[https://en.wikipedia.org/wiki/X_Athena_Widgets](https://en.wikipedia.org/wiki/X_Athena_Widgets)

>In a talk for USENIX, X pioneer Jim Gettys remarked that although Athena widgets were "ugly", they were often used in the period of X history that he describes as the "GUI wars", as a safe alternative to the competing Motif and Open Look toolkits.

</comment></comment></comment></comment></comment></comment></comment><comment><USER13> Server side, so not in Firefox, but I personally got a lot of mileage out of NSAPI. For the company I worked at, at the time, it was the only way to do something better than old-school, fork a process per request, CGI. We had persistent socket processes handling web requests, in parallel, WAY before things like mod_perl or FastCGI. As I remember, it was there around 1995 or so. Many thanks to any former Netscapers. For comparison mod_perl was 1999 or so. FastCGI was really beta and unknown (as I remember) in late 96.

<comment><USER14> > For comparison mod_perl was 1999 or so

I used mod_perl extensively in the summer (May-Aug) of 1996; it was the only way I found to embed perl directly into the server process, at the time.

See also [http://apache.perl.org/about/history.html](http://apache.perl.org/about/history.html)

<comment><USER13> Ahh. Okay. My memory was off then. Sounds like mod_perl co-existed with NSAPI.

</comment></comment></comment><comment><USER15> It's worth noting that it was Netscape Navigator 6 that this was all based on. As in, the ground-up rewrite of the entire product that ultimately killed the company. You know, the one that was so different to its predecessor that it couldn't render Netscape.com.

So yes, maybe some "Netscape" is in there still. Just not Netscape 4, the good one we think about when remembering Navigator.

<comment><USER16> Netscape 4 was utter rubbish. There is a reason it was rewritten: it had lost the browser war, because it couldn't be updated quickly enough to keep up with IE's rate of adoption of new standard features.

</comment></comment><comment> rvp-x That "stack grows upwards" conditional is a giveaway of ancient code. The only architecture I know still using that regularly is PA-RISC, and it's very rare for people to care about it today.

</comment><comment><USER17> Searchfox is super handy for spelunking through the Mozilla codebase. For example: [https://searchfox.org/mozilla- central/search?q=Netscape+Comm...](https://searchfox.org/mozilla- central/search?q=Netscape+Communications&path=)

</comment><comment><USER18> Contributed Firefox a little bit two years ago. Here is the file I contributed: [1]

You will immediately see a lot of NS_ (or ns) prefixed names in the source code. Without knowing about Firefox's history I thought like that Firefox has history with Apple (NeXTSTEP). But no, NS_ are the legacy from Netscape.

It was fun to get to know its history from the source code when I was contributing it :)

[1]: [https://dxr.mozilla.org/mozilla- central/source/dom/media/Med...](https://dxr.mozilla.org/mozilla- central/source/dom/media/MediaRecorder.cpp)

<comment><USER8> Apple uses a lot of historical legacy NS prefixes too, but in their case it stands for NeXT Step! ;)

I used to call the browser Netscapé, which rhymes with Nescafé, back in the 90's when it was the world's leading distributer of Java.

[https://en.wikipedia.org/wiki/Nescaf%C3%A9](https://en.wikipedia.org/wiki/Nescaf%C3%A9)

>Nescafé is a brand of coffee made by Nestlé. It comes in many different forms. The name is a portmanteau of the words "Nestlé" and "café". Nestlé first introduced their flagship coffee brand in Switzerland on 1 April 1938.

</comment></comment><comment><USER19> Lots of Microsoft Edge (pre chromium) code that stretched back to at least IE4 (along with comments with TODOs for long departed employees)

The style around naming, spacing, etc was very different, and not always cleaned up, so it was easy to tell what was old.

</comment><comment><USER20> Is Firefox still using using that horrible COM-workalike from Netscape/Mozilla (XPCOM)? This was the thing that immediately turned me off from this codebase back in the late 90s.

To this day, I remember the excitement from the buildup to the first open source release of "Mozilla (Netscape 4.something)"... and then downloading the code and seeing this horrible complexity. And suddenly understanding why Netscape was so dysfunctional.

<comment><USER8> There is actually a technical term of art (two actually) for the process of removing XP/COM interfaces from Mozilla: "decomification" and "decomtamination", and another related term "outparamdelling".

[https://news.ycombinator.com/item?id=20266627](https://news.ycombinator.com/item?id=20266627)

>It certainly had a lot of problems and limitations, and OLE/ActiveX/DCOM/DirectX/etc took it way too far, then Mozilla XP/COM cloned it and also took it way too far (and then back again: see "decomification" and "decomtamination"), but it really was a pretty elegant and successful solution to the problems it was designed to address at the time.

[https://wiki.mozilla.org/Gecko:DeCOMtamination](https://wiki.mozilla.org/Gecko:DeCOMtamination)

[http://taras.glek.net/blog/categories/decomtamination/](http://taras.glek.net/blog/categories/decomtamination/)

[https://blog.mozilla.org/tglek/category/decomtamination/](https://blog.mozilla.org/tglek/category/decomtamination/)

[https://news.ycombinator.com/item?id=12968830](https://news.ycombinator.com/item?id=12968830)

>Mozilla underwent a process of "DeCOMification", because they went too far with XP/COM, and wanted to dial it way back.

[https://bugzilla.mozilla.org/buglist.cgi?query_format=specif...](https://bugzilla.mozilla.org/buglist.cgi?query_format=specific&order=relevance+desc&bug_status=__all__&product=&content=decomify&comments=0&comments=1)

>Can someone link to a synopsis describing what "COM" is? It's hard to search for. (e.g. microsoft com visual studio)

[https://news.ycombinator.com/item?id=12975257](https://news.ycombinator.com/item?id=12975257)

>Glad you asked! One of my favorite topics. ;)

[...]

>And Mozilla came up with XP/COM [14], for implementing components in Mozilla/Firefox/XULRunner/etc, enabling programmers to implement and consume XP/COM components in C++ or JavaScript. Of course it has its own IDL and tooling, and suffers from many of the same problems that COM did.

>Mozilla didn't go nearly as far down the rabbit hole as Microsoft did, and later backtracked in their valiant "deCOMification" aka "deCOMtamination" and "outparamdelling" efforts [15].

An example of outparamdelling:

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

<comment><USER20> It took them so much time. I can't even begin to imagine how money it cost them to fix this. 10 years * 500 full times at SV salaries, or something like that? That is one expensive bad architectural decision. Maybe $0.5-1 billion, in the end? Not counting missed opportunities during that whole decade.

Is the shame of this the reason Marc A doesn't want to talk about Netscape?

<comment><USER8> With 2020 hindsight (literally: it's now the year 2020! ;), I think Netscape should have just gone all-in on JavaScript, forgotten about XP/COM and its ilk, and made JavaScript itself the hub for extension and component integration, by giving it an excellent robust native code integration and extension API like Python has, and plugging things into JavaScript directly, instead of plugging things directly into the web browser itself with XPCOM or NPAPI or ActiveX, and thumb-tacking JavaScript onto the side as an afterthought, like a second-class red-headed bastard stepchild.

It wouldn't have been "rocket science": Python already existed at the time, with an excellent extension and embedding API, and was well known and widely used that way. TCL was another contender that also had an excellent native code integration API, although it was a much worse language than Python.

But there were politics around TCL, because Sun had hired John Oosterhout, its author, and arrogantly unilaterally announced that they were making TCL the web's official scripting language by administrative fiat, leading to the great "TCL War" kicked off by RMS's infamous but insightful "Why you should not use TCL" posting. Then Sun dropped TCL like a hot potato, and started pushing Java obsessively instead.

[https://vanderburg.org/old_pages/Tcl/war/0000.html](https://vanderburg.org/old_pages/Tcl/war/0000.html)

[https://news.ycombinator.com/item?id=17059077](https://news.ycombinator.com/item?id=17059077)

And of course NetScape also went a long way down the misguided road of Java applets, and worse yet "100% Pure Java TM", by announcing they were going to rewrite the entire browser in Java. In which case, instead of cloning Microsoft COM and using XP/COM as a component extension hub, they would have ended up being stuck with Java's awful "JRI" native code integration API, which was eventually superseded by the also-awful "JNI".

The problem with using Java as an integration hub was that Sun was ideologically opposed to integrating Java with any other languages, because they thought everyone should throw away all their own code and rewrite everything in "100% Pure Java TM" (linguistic supremacy instead of linguistic inclusivity).

To encourage or even allow developers to use some other language than Java would be to admit that Java wasn't perfect for everything and superior to every other language, which Sun couldn't bring themselves to do after launching their "100% Java TM" campaign. So they tried to shame and refused to support anyone who wanted to integrate Java with native code, instead of rewriting everything in Java from scratch, like Netscape tried to do but eventually gave up on.

So Sun downplayed and strangled JRI in the crib, and they also didn't give a shit about its successor JNI either, and let it wither on the vine, because they refused to recognize the importance of using any other language than Java, once they got obsessed with their "100% Pure Java TM" craze.

NetScape suffered from the Java/JRI albatross around their neck for a long time:

[https://en.wikipedia.org/wiki/NPAPI#LiveConnect](https://en.wikipedia.org/wiki/NPAPI#LiveConnect)

>The disadvantage of LiveConnect is that it is heavily tied to the version of Java embedded within the Netscape browser. This prevented the browser from using other Java runtimes, and added bloat to the browser download size since it required Java to script plugins. Additionally, LiveConnect is tricky to program: The developer has to define a Java class for the plugin, run it through a specialized Java header compiler and implement the native methods. Handling strings, exceptions and other Java objects from C++ is non-obvious. In addition, LiveConnect uses an earlier and now obsolete application programming interface (API) for invoking native C++ calls from Java, called JRI. The JRI technology has long since been supplanted by JNI.

I wonder why NetScape didn't choose Python in the first place, instead of inventing their own language or using TCL or Java. Lua would have also been a great choice, but it wasn't nearly as far along, mature, widely supported, and popular as Python was at the time. It was probably because they just wanted to invent their own language, and not use something off-the-shelf that was already widely supported and just worked: NIH.

Here's some other stuff I wrote about the development of component technologies and Java during that time:

[https://news.ycombinator.com/item?id=19837817](https://news.ycombinator.com/item?id=19837817)

>Wow, a blast from the past! 1996, what a year that was.

>Sun was freaking out about Microsoft, and announced Java Beans as their vaporware "alternative" to ActiveX. JavaScript had just come onto the scene, then Netscape announced they were going to reimplement Navigator in Java, so they dove into the deep end and came up with IFC, which designed by NeXTStep programmers. A bunch of the original Java team left Sun and formed Marima, and developed the Castanet network push distribution system, and the Bongo user interface editor (like HyperCard for Java, calling the Java compiler incrementally to support dynamic script editing).

[https://donhopkins.com/home/interval/pluggers/](https://donhopkins.com/home/interval/pluggers/)

[https://donhopkins.com/home/interval/pluggers/requirements.h...](https://donhopkins.com/home/interval/pluggers/requirements.html)

[https://donhopkins.com/home/interval/pluggers/navigator.html](https://donhopkins.com/home/interval/pluggers/navigator.html)

[https://donhopkins.com/home/interval/pluggers/java.html](https://donhopkins.com/home/interval/pluggers/java.html)

I'd love to hear from somebody who was at Netscape at the time, about what they thought of Python, whether or not they fairly considered it, and why they didn't end up using it instead of rolling their own language from scratch. And also what Netscape's view of the great "TCL War" was from their perspective, and why they chose to collude with Sun's Java Manifest Destiny for so long, but earlier they didn't play along with Sun's announcement that TCL would be the world's official web scripting language. Besides the obvious fact that Java was much better than TCL, yet TCL for all its flaws and limitations at the time was certainly better than initial version of JavaScript (LiveScript), which was awful.

<comment><USER21> Brendan Eich wanted to do Scheme, but then edict came from above that "it has to look like Java" [https://thenewstack.io/brendan-eich-on-creating- javascript-i...](https://thenewstack.io/brendan-eich-on-creating-javascript- in-10-days-and-what-hed-do-differently-today/)

</comment></comment></comment></comment></comment><comment><USER22> Makes me wonder, is there a tool like grammarly [1] for source code? One that checks for large chunks of copied code from other open source projects?

[1] [https://www.grammarly.com/plagiarism- checker](https://www.grammarly.com/plagiarism-checker)

<comment><USER23> I interned at a company called Palamida that did this around 2006. They were eventually acquired by Flexera. One of their competitors was Black Duck Software which was acquired by Synopsys.

</comment></comment><comment><USER24> Is there any code in WebKit that comes from khtml?

Is there any code in Source that comes from idtech 2?

<comment><USER25> For a small personal project [0], it was 14 lines after three years continued in a company.

[0] [http://beza1e1.tuxen.de/tipiwiki.html](http://beza1e1.tuxen.de/tipiwiki.html)

<comment><USER26> This was a good read. Question from a naive programmer: the writer mentions 'cute comments' in the codebase, like

        // Assertion: Now we know the name of the current page

Is this style frowned upon? I've always thought it's a very clear way of communicating. There's a reason many maths papers are written like this. Do my co-workers think my comments are silly? :(

<comment><USER25> Comments is a mostly subjective topic. In this case, I have two arguments against the comment.

First, it just says what the three simple lines of code above did. Comments should rather focus on the "why" to provide information which the code cannot give.

Second, assertions should be code (or somehow machine readable).

</comment></comment></comment></comment><comment><USER27> A lot of the code in libnss (security code) looks quite similar to code that was written in the mid 90s. I don't have archives, but browsing multiple files there is a lot of familiarity there.

</comment><comment><USER28> Of course, lots of Firefox is Rust now. (edit: I'm saying "lots", not "most")

<comment><USER29> I don't think this is true? I think Mozilla is interested in using Rust for new code where that makes sense, but the vast majority of Firefox as shipped today is still C++

<comment><USER30> They're working on porting it. See Oxidation Project: [https://wiki.mozilla.org/Oxidation#Rust_Components](https://wiki.mozilla.org/Oxidation#Rust_Components)

e: Edit url to point to rust status in Firefox

<comment><USER31> Only in specific cases. See the "Recommendations" section in that document.</comment></comment></comment></comment>


Show HN: Python Developer Job Board - <AUTHOR> Today I release my 3. Job Board, running on my product https://www.boardengine.io, for Python Developers: https://pythonjob.xyz <comment><USER2> Clickable:

[https://www.boardengine.io](https://www.boardengine.io)

[https://pythonjob.xyz](https://pythonjob.xyz)

<comment><AUTHOR> tks for that :-)

</comment></comment><comment><USER3> Saw you also do [https://fullstackjob.com](https://fullstackjob.com) ?

<comment><AUTHOR> Yup and [https://javascriptjob.xyz](https://javascriptjob.xyz) and [https://golangjob.xyz](https://golangjob.xyz)</comment></comment>


Mean.io – the opinionated fullstack JavaScript framework - <AUTHOR> http://www.mean.io/#!/ cool.. anybody have experience using this? <comment><USER2> > fullstack javascript framework

Their repo is literally just an example of a blog with express, angular, and mongoose. I don't understand how this is a 'framework'

</comment><comment><USER3> oh god</comment>


Giving money to the founders:  In 2009, is this still absurd? - <AUTHOR> http://paulgraham.com/vcsqueeze.html

<comment><USER2> In an age when anyone can do a startup, the word "startup" here on YC has somehow been distorted to mean "small software business that was started in the last two years on a shoe string budget."

I think the VC should instead concentrate on businesses where their investment can make a real difference: Business plans that _require_ a factory, or expensive custom hardware, thousands of servers, gigantic customer education, etc.

I know it's heresy on YC, but real VC's shouldn't be involved in companies where only $20k is required to start the business. Founders are taking the VC for a ride when they convince them to fund extravagant startups that _should_ be started without big investment.

VC investors, if they still have cash, need to think bigger. They're not needed for software startups.

The amount of funding required to start a business is one of the best barriers to entry, and the VC should exploit that.

<comment><USER3> Real VCs shouldn't invest in Google?

VCs should choose their investments by the expected return, not the amount of money they require.

<comment><USER2> No, Google is the perfect investment for VC. Most founders (or anyone for that matter) can't afford the huge data centers that Google needs.

That server farm costs a lot, and therefore the required investment is a _huge_ barrier to entry.

That business model is perfect for VCs, and that is where they should focus.

<comment><USER3> The server infrastructure they have now costs a lot, but they've paid for that entirely by themselves.

When they became the default search on Netscape, they had 30 computers.

<comment><USER4> I thought that was Excite? I don't recall Google becoming the default search on Netscape until FireFox. I remember that when all my friends first started telling me to use Google (1999/2000, well after they had 30 computers), we still had to type in www.google.com to get there. And I was a die-hard Netscape fan then.

Edit: Never mind, they switched over to Google in July 1999 (<http://searchenginewatch.com/2167331>), when it was quite possible that they still had 30 computers.

</comment></comment></comment></comment></comment><comment><USER5> I work at a brand name venture capital firm which is actively investing.

In this market, where 'flat is the new up', I'd regard having founders cash out at early institutional rounds as unusual. There is comparatively little money being invested at the moment, and its a "buyers' market" which is to say that entrepeneurs have less negotiating power at present than they did when things were frothy.

<comment><USER6> Are you seeing any trend of investments getting smaller? E.g. would your firm invest $200k into a promising company, or is that still out of the question even in these "tough times"?

<comment><USER5> My firm would do and always has done pre-Series A stage, with a view to building a relationship and following-on in due course. However that is and has always been a less common strategy: most 'bulge bracket' firms (active fund of $300-600m) don't invest such small amounts.

More generally, no, I do not see any trend in rounds getting significantly smaller. I do see a trend in pre-money valuations coming down, of course, but that's entirely different.

The economics of bulge-bracket VC work when you invest say ~5% of your fund in each portfolio company, in the hope that 1/10 or 1/20 of your companies will hit it out of the park. Total fund size equilibriates when drivers for scale (partners' remuneration, principally, less relatively invariable overheads) balances with diseconomies from political inference effects which kick in when too many partners try to reach consensus and cut the cake. That's why top tier firms with a 'plain vanilla' strategy have roughly comparable fund sizes.

FUD aside, nothing I'm seeing at the moment that gives me any reason to believe that underlying model is 'broken' or failing (though of course '07 and '08 vintages will be shot). Almost all successful start-ups need a lot of money to scale beyond a certain point. Free software doesn't really change the cost of airtime, or a VP bus dev. I'm writing anonymously so I have no real axe to grind in saying that.

What is certainly happening in the industry is a shake-out. Good firms with strong reputations are raising quickly and comfortably (if quietly because it's not a time to be above the parapet), and will continue to invest without interruption. That is because there are well-priced deals to do in this environment, and innovation doesn't stop in a recession.

A number of 2nd tier firms, on the other hand, are finding fundraising very difficult. Many will not survive.

Firms that are thriving seem to be investing more slowly just at the moment. This is because there is a lot of noise in the market, and visibility is currently low. Analogy: when it's foggy you drive slower. (Economically: transaction costs rise as expectations less aligned, so liquidity declines.)

What is tough is the squeeze at the bottom end for start-ups. I get the impression (though have less direct evidence of this) that there is a bit less easy money on offer from HNWs sub $500k as many are licking wounds, etc.

<comment><USER7> Thanks for that.

I'm sure there has been a discussion of this article before. But I get the feeling that you disagree with it's predictions. I'm interested to know which points you think are off & why.

The conclusion was that VCs are in a worse position. Investment needs to get smaller & to maintain their investment sizes VCs will need to buy shares from founders.

1 - Software Startups need/want less capital because of (a) lower technology costs (b) lower promotional costs (c) smaller teams.

2 - IPOs are less likely. This results in (a)the lower risk/reward goal of acquisition being set as a target. (b) less capital needed for the IPO process. _I've added in point b_

3 - Sellers' Market. (a)VCs' structure dictates investment size & fund size (as mentioned above) creating a surplus. (b)VCs are competing with acquirors offering a lower risk option. _I imagine the current climate dampens these_

I suppose the last point is most debatable. It may be temporary. The VC industry may contract or move away from Software. But if 1 & 2 are correct, this should result in smaller investments, founders cashing out or some combination of these. Do you see these points as being incorrect? Am I missing something else?

<comment><USER5> PG's argument as I read it is that there's a shift in comparative market power towards entrepreneurs qua producers because the barriers to innovation have fallen so their funding needs are less.

I agree that companies pursuing small opportunities (web 2.0 features, iPhone/Facebook apps, etc.) will face little competition from funded competitors. That's because there's little money to be made out of those innovations. In the short term, that may even apply to situations where the prize is large (Skype, Google, Facebook, etc.).

But in the longer term, economic systems operate in equilibrium, so you have to think about marginal not absolute factors. In equilibrium, competition will increase, and in turn cost of supply (of developers, airtime, etc.) will scale, in proportion to the size of the prize. Only proprietary cost advantages offer sustainable competitive advantage, whereas free software tools, cloud hosting, and cheap airtime benefit all contestants equally. When credible signalling costs are high and transparency is low, relative early advantage tends to be self-reinforcing. So when the pie is big enough, unfunded start-ups will find their marginal rate of growth just as constrained by a lack of capital as it's ever been, and will lose the initiative to better-funded rivals accordingly. Which means VCs will be just as essential in supporting high-value product development as ever.

Of course, you might say that the rate at which the marginal utility of wealth declines is high enough that few rational entrepreneurs will be motivated to pursue big new product innovations given the higher likelihood of failure compared to developing iPhone apps. In practice I tend to think that success for most entrepeneurially-minded individuals is as much about recognition (a positional good), as it is about absolute wealth. And again, in equilibrium, position goods are definitively scarce, meaning the arms race for status will continue ad infinitum.

There's an old adage about how to make money: sell bullets in the war without end. That's what VCs do. And the invention of the taser doesn't put gun makers out of business. On the contrary, it increases their utility.

<comment><USER6> I think the only fallacy I'd point to in that argument is the idea that "more money helps" when building software.

In practice, I've found that adding more developers to a team actually makes it less likely to succeed. Imho, the ideal team size for a software start-up is three - three excellent, top-notch hackers, but just three. More than that and the communication overheads start to hurt your early progress and flexibility.

That's not to say that the three hackers won't want additional help later, which is where you could come in. But that's only the case until the tools get good enough that the three can continue as three pretty much forever.

The increased productivity of tools like Rails means that larger teams are actually at a disadvantage. This to me is the greater threat on your industry. In my start-up, I don't want us to grow to a mega-team of hundreds of people. In fact, we've already had numerous discussions about having it as part of our business model to keep the company as small as possible and outsource any work that's not core to the business - so that we can ensure that the only people we employ are top notch.

Otherwise, your analysis is good - but imho this factor could be the chink in your armour.

<comment><USER5> Even were that uncontroversial, the cost of developers' time generally accounts for only a small proportion of the costs of bringing product to market.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> The reason that founders cashing out on big rounds was never absurd, and will never be absurd (though market conditions may make it less common for a time) is that in many respects it aligns the interests of the founders with the investors.

Money has diminishing marginal utility, and most people would be just as happy (or unhappy) with $10m as they would with $50m. That's not true at all for VC firms or their limited partners. Twice the profit is roughly twice as good for them, in fact in the competitive industry, it might be more than twice as good. If everyone is getting 15% returns, the difference between 10% and 20% for a VC fund can be tremendous the next time they're out raising funds.

By allowing the founders to cash out, it gives them the cushion they need to swing for the fences, rather than trying to sell their company as soon as it will make them independently wealthy.

</comment><comment><AUTHOR> I'm curious to know if anything of this sort has happened since the article was published.

<comment><USER3> Yes, it seems to be increasingly common for founders to sell a little stock personally in the course of a funding round. At least, it was till the market crashed.

I don't have enough data yet to say how the recession will affect this practice. But my guess is that if it did decrease, the decrease would be temporary. The long term trend is that founders are increasingly powerful. Which means they'll tend to get not just the option to sell stock (if they want to) but other things they want, like remaining CEO.

<comment><USER9> Can you elaborate on what "a little stock" is ? I.e. is it 50K, 250K, 500K, etc in cash equivalent ?

Just curious. Thanks.

<comment><USER3> The middle to higher end of that range, maybe more. It only tends to happen in high valuation deals (usually later funding rounds) so a little stock is usually worth a lot.

</comment></comment></comment></comment><comment><USER10> I'd love to hear pg do a follow-up on this. Every couple years.

<comment><USER11> I'm especially interested in seeing if companies where the founders are allowed to cash out a bit up front actually do better and do better because they were allowed to cash out a bit. May take a while to get that data though.

</comment></comment><comment><USER12> I think that increasingly, software-based businesses will be starkly divided by the "application" and the "infrastructure" realm. While the former is made by a single person or a small group and runs on preexisting systems, the latter builds and maintains said systems, and has to pull in serious resources to do so.

For the app-writers, it won't just be seed funding anymore - it'll be no funding at all. The most they have to do is pay for some hosting, legal and financial services, but their burn rate will be so tiny as to do it on part- time wages.

As for the remainder, they'll still be operating a traditional startup with real funding needs.

<comment><USER13> I don't see your model as being intrinsically separate pieces. IMHO we're already at the stage where pushing out software is cheap, and can be done with _zero_ investor funding. Scaling on the other hand, is still as expensive as ever. Your next Twitter can only go so far on a single box, and there will be a time where it's make or break - you'd have to sink some serious money into building out infrastructure to keep growing the business.

<comment><USER14> A single box can handle a _lot_ of traffic. A well tuned web server should be able to handle enough web pages that your making about 1$ / second in peek times from advertising. That much revenue should let you double your number of servers each month should you need to. EX: In 2007 Slashdot used 16 web servers with 2 Xeon 2.66Ghz processors, 2GB of RAM, and 2x80GB IDE hard drives. (<http://meta.slashdot.org/article.pl?sid=07/10/18/1641203>) today that's cheep.

PS: Twitter's cost's have far more to do with SMS traffic and staff than hosting their website.

</comment></comment></comment><comment><USER15> The reality is that the Web is so big now that you can start smaller firms for next to nothing in lots of niche markets. That doesn't mean VC is broken, it just means that smaller firms can exist without it. You're not going to start Amazon or NetFlix without follow-on capital. You can start a Web gadget company that makes $50k just fine though.

</comment><comment><USER16> If I'm not mistaken the Founders Fund allows the founders to get paid.</comment>


Ask HN: How is it going with Shareware/Desktop apps these days? - <AUTHOR>

Hi all,
There were some discussions 3-4 years ago. I'm interested to hear any success or fail stories from fellow HNers - how are you doing with shareware desktop stuff these days?
Thanks! <comment><USER2> Yes, I'd be interested to hear about this too.

FWIW, here is a somewhat related, recent experience we've had:

During May/June this year we created a freeware app (for Win), made it available for download via our website and then used an auto-submitter to submit it (the PAD file) to a few hundred shareware/freeware download sites (in the hope of both - getting downloads and some link-love for SEO).

The App got listed on a good number of sites (with many linking to our site) and we've been receiving a decent number of downloads, but all those links appear to have done nothing as far as Google rankings are concerned.

<comment><USER3> Google may well consider such low effort to get posted sites as content farms, that sounds like it might fit the definition of what they were trying to downgrade with the recent updates.</comment></comment>


Timbre.js: JavaScript Library for Objective Sound Programming - <AUTHOR> http://mohayonao.github.io/timbre.js/ <comment><USER2> The linked Github repository is no longer actively maintained per it's README.md</comment>


I want to travel so I'll do your AWS DevOps for free (5x AWS certified) - <AUTHOR> Note. I'm using a throwaway account for this post.
I'm hoping this post will be more of a discussion about my plan and the pros/cons associated with doing something like this.
So here's the deal. I'm thinking of travelling as it's something I've never done before. I'm in my late twenties.
I love being surrounded by like minded people, especially those from a tech background and I love to party. Traditional travelling doesn't really appeal to me. I love big cities like London, New York City, Las Vegas, San Francisco, etc.
I currently live in London so I'm used to the cost of living in big cities. My plan is to rent Airbnb accommodation, funded by my existing SaaS. I'm pretty much location independent at the moment. So I'll move to where you are.
I have all 5 AWS certifications: AWS Solutions Architect - Associate, AWS Developer - Associate, AWS SysOps Administrator - Associate, AWS Solutions Architect - Professional, AWS DevOps Engineer - Professional
My AWS experience to date has mainly been around scaling LAMP stacks but I'm looking to work on a varied number of projects that use different AWS services to get a good selection of case studies for an AWS Consultancy I want to set up next.
I'd like to spend a month in each city. All I ask is that you let me use your company as a case study afterwards.
This will probably be suited to startups in their early stages. First and foremost I'm looking for interesting people to hang out with, those who are good company and those who want to party. We need to be on the same wavelength. The plan is to enjoy everything the city has to offer.
The #1 sticking point for me is that you need to be doing all of this already, and I'll just slot in. I don't want special treatment. <comment><USER2> I personally think that if you're good at something you should never do it for free, charity work notwithstanding of course. In your case, I don't really understand your reasoning/correlation between wanting to travel and offering your AWS skills free of charge. You can always find early stage startups that are looking for someone to setup their system on AWS, and willing to pay for it, in any of the cities that you've listed. They might want a one-time job (think freelance).

Why wouldn't you offer a paid service?</comment>


Ask HN: How do you tackle the "where do we head out today" problem? - <AUTHOR>

I'm really curious about this problem as I'm yet to find a service that solves it well for me.
To elaborate, it could apply to just a couple of individuals or a larger group looking for a good place to head to at the end of the day / on a weekend. And the agenda could be anything from just hanging out to dinner to a rock gig to a movie to a more formal event.
From what I've gathered thus far, most folks I've discussed this with
1) ask a friend for a recommendation
2) look up Yelp or a similar service
3) subscribe to a newsletter like Thrillist or Urban Daddy or Startup Digest so they're more informed
4) actively monitor Plancast, Facebook Events and the like.
I'd really like to know whether this more or less covers the entire gamut of available alternatives. I'd love to discover services that tackle this well that I don't know about yet, because this seems to be the "can't get it out of my head" idea for a few months running. <comment><USER2> I agree. I, similarly, can't get this idea out of my head. I don't have much to add except that #3 no doubt often informs the gatekeepers of #1. So, consider the actual power of #3.</comment>


Every single satellite orbiting Earth, in a single image - <AUTHOR> https://news.yahoo.com/every-single-satellite-orbiting-earth-single-image-171639687.html <comment><USER2> Higher resolution images: [http://www.universetoday.com/13587/space-debris- illustrated-...](http://www.universetoday.com/13587/space-debris-illustrated- the-problem-in-pictures/)

</comment><comment><USER3> My first thought was wow! My second thought was, wait a minute...

The image certainly shows there are a lot of satellites floating around Earth. But "crowded" is a relative term. There are many, many miles of space between those satellites.

<comment><USER4> Yep. I did a back of the envelope calculation once, and I think it was something like a thousand cubic miles for every satellite in low Earth orbit.

Alaska would look overwhelmingly crowded too if you drew even a tiny fraction of the population as small visible people on the map.

</comment></comment><comment><USER5> This is astonishing, especially after the movie _Gravity_. I didn't know we have so many satellites up there. One thing that always keeps me alert is the amount of space litter. My friend said _Gravity_ makes him lost interest in space travel and this image has stopped me ever wanting to go up there. Despite the distance between satellite, they eventually will become useless and many are destroyed in the space due to security reason.

Kudos to people who work on space mission, getting the right window and right path precisely is really difficult given the amount of litter and traffic we have right now...

I would be interested in getting a map labels the ownership of each satellite and what each of them does. I suspect there are clusters, based on country and companies. I'd like to see an interactive map like Google Map and Google Earth looking at Earth and satellites.

</comment><comment><USER6> * if every satellite was 10,000 times bigger than it really is.

</comment><comment><USER7> This is a link to a yahoo news scrape of a bgr.com story about a tweet about a picture. Seriously?

[https://twitter.com/ValaAfshar/status/439577697606701056](https://twitter.com/ValaAfshar/status/439577697606701056)

</comment><comment><USER8> Totally nonsense picture, sure there are satellites in the sky, most of them approaching obsolescence, but satellites scaled to become naval carriers?

Satellites are only going to get smaller and smaller, check out Skybox Imaging.

</comment><comment><USER9> Totally to scale, right. Satellites are the size of countries now.

<comment><USER10> I am going to say the same thing in a different way:

"The satellites in the image are not to scale, and this makes the image misleading."

Was that so hard?

</comment></comment><comment><USER11> Didn't realise we have put that many satellites into orbit.

If you had asked me out of the blue how many sats humans had launched I would have guessed a couple of hundred.

</comment><comment><USER12> If humans are good at anything, it's litter.

</comment><comment><USER13> Would be interesting to see in an animation.</comment>


First Git commit 19 July 1972 - <AUTHOR> https://github.com/golang/go/commits/master <comment><USER2> I think the first page of the commit history ([https://github.com/golang/go/commits/master?after=f235275097...](https://github.com/golang/go/commits/master?after=f235275097eb68b36d171908cea6a0be23351a94+44200&branch=master)) is a little better</comment>


Show HN: Generate unique pepes using deep learning - <AUTHOR> https://makerarepepes.me <comment><USER2> I'm so outdated when it comes to memes, so forgive me but: Isn't this particular frog lately associated with racism and intolerance?

<comment><USER3> Some people in the alt-right movement associate themselves with pepes, and there are racist pepes, but not all pepes are racist. There are still many non-racist communities that use pepes.

<comment><USER4> The swastika has a long and honorable past in India, but displaying it without very specific context indicates Nazi sympathy.

<comment><USER5> Perhaps the ability to corrupt symbols by association shouldn't be given to groups that haven't committed heinous acts?

<comment><USER6> In practice, we tend to ban the symbols where they represent hate most often, rather than make distinctions about who means what by displaying them.

</comment></comment></comment></comment></comment><comment><USER7> If it meets the guidelines, this might make a good 'Show HN'. Show HN guidelines: [https://news.ycombinator.com/showhn.html](https://news.ycombinator.com/showhn.html)

</comment><comment><USER8> Holy heck this is awesome! Great job :)</comment>


Star Citizen – This War of Mine - <AUTHOR> http://www.dereksmart.org/2016/07/star-citizen-this-war-of-mine/ <comment><USER2> That guy slams Star Citizen every half year or so. Occasionally he releases his own games that are promoted as "better than SC", but turn out to be absolutely abysmal [1].

I did backed SC almost at the very start. I think it progresses quite nicely. They are slow, sure. But they are extremely open about dev process (and progress) and it's actually really interesting to observe how such a large project is coming to life.

I can wait a few more years for a game that ambitious. World of Warcraft took 6 years to develop. SC is still on year 4.

[1] [https://www.youtube.com/watch?v=2Lw- cwIGuy0](https://www.youtube.com/watch?v=2Lw-cwIGuy0)

</comment><comment><USER3> I don't like how Star Citizen is being handled. Luckily, I never backed it and it's clear that the project is going to be undergoing massive delays and is going to be a huge mess since it's gone beyond mere "feature bloat".

But this guy seems too immature to take seriously. In fact, I stopped taking him seriously at the first mention of "Shitizen". That doesn't really do him any favours.

<comment><USER4> I unfortunately did back it, and am very disappointed with the lack of progress. I imagine if I had been public about it like the author of the blog post, I would be pretty angry too with the response of oblivious backers trying their hardest to deny the fact that they made a bad deal.

It's a game that's way behind schedule. People shouldn't defend it, they should demand results. And if people would be so immature as to put down others demanding results, the immature blog post is understandable.

</comment></comment><comment><USER5> Such intensity of hate. It's like he's the sith lord of game developers. So weird.

</comment><comment><USER6> This guy is the very definition of extreme and illogical.

He has a huge beef with this game and the game maker.</comment>


Lost Hacking Documentary Surfaces on Pirate Bay - <AUTHOR> http://www.wired.com/threatlevel/2010/05/hackers-wante/

<comment><USER2> I love how Wired post a direct link to the pirate bay just in case someone who reads wired can't navigate to TPB and find it themselves :-)

<comment><USER3> Personally, I like it when news media posts a direct link.

My local paper does exactly the opposite all the time -- For example, they'll say how there was a huge uproar over some local police man kicking a thug the other night and it was caught on youtube. Guess what they never post the link so now I need to search youtube, arg.. just makes scene to post direct links!

Hacker News would be fun if we didn't post direct link ;) haha

<comment><USER4> Happens all the time with science reporting too. They'll have a story about a new scientific paper, and you're lucky if they give you enough details to look it up yourself, let alone an actual link to the paper online somewhere. I'm usually happy if they at least include the full title so I can google it, and they often don't even do that.</comment></comment></comment>


Loon and Wing graduate from Google/Alphabet X - <AUTHOR> https://www.wired.com/story/alphabet-google-x-innovation-loon-wing-graduation/ <comment><USER2> This (almost) exact story seems to resurface every couple of years. Given that Google has to allow (or perhaps) initiate the story and access, I wonder if there's a specific type of situation in which Google's PR team decides that it's time for another "Inside X" story.

<comment><USER3> I wonder if it's when they have trouble hitting their recruiting numbers. There's a popular theory that X is the carrot dangled in front of both current Google employees and potential hires-- "Look at this cool stuff you could work on!"\-- while in reality they usually get sent to the trenches to squeeze out 0.003% gains in revenue-per-query.

<comment><USER4> Nobody I have ever worked with at Google has had this carrot dangled under their noses. It certainly wasn't dangled under mine when I was hired. I don't dangle it under the noses of anyone I interview. I think most people with a basic understanding of arithmetic realize that the overwhelming majority of the company does not work in X, and they should not expect to, either.

I have zero interest in working in X.

The reason hiring is hard is because the interviews have a low pass rate, everyone else is also hiring, and salaries + benefits among top tech firms in an area are fairly similar.

<comment><USER5> > The reason hiring is hard is because the interviews have a low pass rate

But the pass rate is up to the company. Either the wrong people are being brought in for interviews, or Google is looking for some x-factor that nobody has.

<comment><USER6> I work for Google and conduct interviews for Google. No magic x-factor, just a good command of data structures and algorithms, plus the ability and stamina to express it in a full day of interviews, plus the luck to have a good night's sleep beforehand, not have an off day, etc.

<comment><USER7> The strongest factor in my opinion (after pure luck) is the rapport you're able to build with the interviewer. Doing that of course requires doing well in the technical questions, but the end-goal shouldn't be seen as doing well in the questions, but seeming "Googley" to the interviewer. Googleyness in this context tends to include not just whether you did well on the questions, but things like your sense of humor, ability to communicate in a positive and cheerful way, whether you seem mature and responsible, and other such little things the typical techie would like in another person. Interviewers are also human, and they can only do so much to change how they perceive another person.

Source: Have interviewed with Google a couple of times, and coached a couple of other people for the same.

<comment><USER6> I can't speak for other interviewers, but I barely take this into account. As long as someone isn't actively antisocial (has never happened to me) or unprofessional (has happened once or twice) I file feedback exclusively on technical merit and communication. There have been times where I liked someone and wanted to give them good feedback, but couldn't.

<comment><USER7> > I barely take this into account.

> I file feedback exclusively on technical merit and communication.

I appreciate your comment, but my point is that there's no way to actually do this, even if your goal is to. It may seem that you're being objective, but the objective facts can only influence the subjective opinion that's ultimately responsible for the decision, not the reverse as we like to think.

For example, if an interviewer likes the interviewee, they would actually think that the person did quite well in the technical question, and not if they don't. We first form an opinion about someone or something and then look for "objective" facts to justify it, not the other way round.

The only way to really be objective here is to use a point system and hard thresholds which completely removes the human in the loop, like SAT.

I recommend "Thinking Fast and Slow" and "Why Buddhism is True" which go into this idea in detail, and in general about how poor we are at being unbiased and rational. You'd be surprised at how deep our irrationality goes even if you already have some idea.

<comment><USER8> And that's why Google's recruiting has the extra step of a hiring committee which didn't meet the candidate. Interviewers fill out interview feedback based on how their interview went with the candidate, and there's guidelines to try to reduce bias (no gendered pronouns in feedback, the candidate's code is included as-is in the feedback, etc) and the committee makes the final decision based on the feedback.

Sure, what is included can still be slightly biased, but if you're talking about non-technical things at the beginning or end, it won't really make it into the technical interview feedback, and probably will have little to no effect on the committee's decision. At the end of the day, the problems you're asked have optimal solutions and your code will either work or it won't.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Good to see Loon graduating into its own company. Project Loon was very instrumental in connecting Puerto Rico after the hurricane [1].

[1] [https://www.engadget.com/2017/10/20/project-loon-att- puerto-...](https://www.engadget.com/2017/10/20/project-loon-att-puerto-rico/)

<comment><USER10> Was it? The numbers Look posted didn't seem super impressive given the number of people on the island. They also said nothing about reliability. I want to like Loon, but don't have much data to really go on.

</comment></comment><comment><USER11> Are any of these moonshot projects trying to counteract human-driven climate change?

<comment><USER10> There's a salt battery project in X. Makani is also in X. There's a thermal pump company that graduated from X last year. There's also a team at Google working on Fusion research. Probably more I don't know too.

<comment><USER12> Thermal pump -- is that Malta?

<comment><USER10> Not sure if thermal pump is really the right term, but I meant Dandelion.

</comment></comment></comment></comment><comment><USER13> TLDR: big company tries to remain dynamic by running its own internal innovation program

Too bad it has never worked too well for any other big company, for structural reasons ("Internal incubators")

<comment><USER14> Actually it worked very well for many companies. The Amazon Kindle came out of Lab 126, Amazon's innovation program.

The idea isn't just to remain dynamic, but to allow for new products and services to be developed despite posing a threat to the company's main cash cow.

So Lab126 was completely independent from most of Amazon, including being based in the Bay Area vs. Seattle. This allowed the to develop a product that went directly against the main cash cow at the time (selling physical books) and make it to market.

Microsoft had one as well, but would always fail because the existing businesses heads held too much power, and would always kill the products. Just take a look at the history of the Surface.

<comment><USER15> Well, ereaders and ebooks are really obvious things to develop if you are in selling physical books business.

<comment> sjm-lbm Not if you're Kodak and making film.

Or, at least, the technology might have been obvious (they did have a hand in developing digital cameras), but the idea that they should bet big on the new technology eventually replacing them evidently wasn't obvious.

<comment><USER16> It is even worse than that for Kodak -- Steven Sasson actually created the first digital camera using a CCD sensor while working at Kodak [1] and Kodak owned the patent for a digital camera [2].

[1]: [https://www.seattlepi.com/business/article/Kodak-engineer- ha...](https://www.seattlepi.com/business/article/Kodak-engineer-had- revolutionary-idea-the-first-1182624.php) [2]: [https://patents.google.com/patent/US4131919](https://patents.google.com/patent/US4131919)</comment></comment></comment></comment></comment>


Reports of cancellation of AdSense accounts - <AUTHOR> https://productforums.google.com/forum/#!topic/adsense/9HiD0kMYU_U;context-place=topicsearchin/adsense/account$20cancelled <comment><USER2> According to their terms, Google can cancel any account at any time without having to offer an explanation. They also have a history of not replying to publisher problems at all. The whole 'Official' Adsense forum is run by volunteers and it's near impossible to speak to a real person.

Even if they are hacked and thousands of accounts are cancelled I don't think Google will respond.

I would so, so love to see a big player start a modern Adsense alternative.

<comment><USER3> Aren't people like Appnexus and Openx alternatives? What am I missing?

<comment><USER4> Appnexus is a RTB platform and a DSP (and a whole lot of other things they do). OpenX is/was an exchange and is generally the #1 place for buying/selling dodgy af traffic.

Neither does what Adsense does per se. What Adsense does is it reads the content of the page, and loads relevant ads from from its database of ads (things people put in adwords) and from GDN (also things people put in AdWords, and DBM, only they're pictures). The GDN bit has always been a bit icky IMO.

So, no, they aren't alternatives. Chiticka and others WERE alternatives, but there was a quality control issue (also supply side issues, because Google is a HUGE brand) which led to their eventual demise and/or pivots to waaaay dodgier practices like popunders.

<comment><USER5> Since you seem to know the industry well, what are the top resources (of any kind) to study the current state of online advertising for an advanced audience? Both from the technical side, and from the advertiser's business side. At a level that you would ideally know and learn if you were working as an executive in the industry.

<comment><USER6> I actually wrote a 10 page article on this for an internal audience. If people are interested I could clean it up and post it somewhere. Otherwise, the knowledge is scattered over blogs, ad exchanger, etc.

<comment> angry-hacker I'm interested. Please let me know if you publish it. Trying to get a better understanding about the industry, but the information is hard to find or scattered all over the Web.

</comment></comment></comment></comment></comment></comment><comment><USER7> If you ever think about relying on Google for your business, this linked thread is a good reason not to. You are at the mercy of helpful volunteers while Google is stonewalling anyone from ever reaching them and getting help.

<comment><USER8> My mom called MS about a problem with Edge on Win 10 and they resolved it over the phone within 5 minutes of her requesting they call her. If google ever did that id be completely shocked. Do they even have a phone number?

<comment><USER3> I'm a "small but not insignificant" adsense publisher. I have in the past received phone calls from an account manager on the phone. I have the phone number they called from, but if you call them it always goes to voice mail. They can call me but I can't call them.

<comment><USER9> Account manager John's noticed your spending has gone down by 5% each month for the last quarter, flagging you in their CRM as a member to reach out to 'to help you out, in case you have any questions!' Casinos do the same thing by profiling high-rollers who haven't visited in a while ("well we just happen to have a Gulfstream ready for you, sir, and the Villa suite opened up too!").

</comment></comment></comment></comment><comment><USER10> This year we will stop using AdSense altogether. No support at all and the payouts have been declining every year. With the increase of ad blockers, even less encouraging to use ads in general.

Sometimes I wonder, are ads as we know it, dead? Everyone hates it, has real usability impact and security risks.

Didnt get the email though...

<comment><USER11> Let me provide you with some insight into your bewonderment:

1) I work in the Ad technology industry and i can tell you with confidence that ads are far from dead. The human logic of "We hate it, so it must not be working" is understandable but condradicting the actual data entirely. I look at this data on a daily basis and i can tell you that Ads have increased by a LOT in the last 10 years. They are also working for the Advertiser better now than they did 10 years ago, as we are able to track and measure much better. What people haven't noticed is the fact that they have become more native, less intrusive and more relevant altogether. I am not talking about your flashy ads that you encounter on your various pirating sites and other places that Adsense blocks to begin with.

2) Adblock: Adblock is a big scam. While the average user sees the value (just for them) they do not understand what it is causing and how it is developing. Let me enlighten you: First of all, adblock has destroyed a significant number of small bloggers, content-writers, and other publishers, as especially those were struggling to stay above water. On the other hand, one of the most prevalent Adblockers out there (i wont name) is now ironically making money by selling its Adblock space to certain Advertisers & Networks to show Ads (ha! ha!). This is literally the behavior of modern-day pirates. You have an economy of trade-ships crossing the seas, and then a pirate ship comes along, blocking your passage making you pay taxes/goods in order to carry on. Sound familiar? Yea... everyone loses, except the average internet user who won't care until all their content either a) disappears b) deteriorates in quality or c) becomes a paid service

<comment><USER12> >First of all, adblock has destroyed a significant number of small bloggers, content-writers, and other publishers, as especially those were struggling to stay above water.

People used to do that for free because they cared about the content they were writing, rather than because it was making their daily bread.

I distinctly remember the quality of writing during this time being much higher than it is today.

<comment><USER13> You pretty much hit the nail on the head.

Written content was either managed by major news outlets or by hobbyists. I can still remember reading many blogs in 2009/2010 by hobbyist who just wanted to spread their experience with the hobby or craft. Most had no advertising. Those that did had the small, occasional unobtrusive banner ad. All of the links to follow were to other blogs by those who proved to the writer that their blogs were topical and without cruft.

Then the paid blogging boom took off. People realized they could churn out crap most of the time with the occasional heavy hitter[0]. Keep readers coming back to a mediocre blog plastered in ads for a minimal amount of effort and get paid.

Note: This isn't a shot at Atwood. I'm agreeing with him.

[0]: [https://blog.codinghorror.com/how-to-achieve-ultimate- blog-s...](https://blog.codinghorror.com/how-to-achieve-ultimate-blog-success- in-one-easy-step/)

<comment><USER14> > _I can still remember reading many blogs in 2009 /2010 by hobbyist who just > wanted to spread their experience with the hobby or craft. Most had no > advertising. Those that did had the small, occasional unobtrusive banner ad. > All of the links to follow were to other blogs by those who proved to the > writer that their blogs were topical and without cruft._

You make it sound like every hobby website wasn't out to make money. What you're describing are the exceptions, not the rule. And they weren't as numerous as your comment indicates. An RC airplane website/forum had ads or deals with companies selling planes, marijuana websites (anyone remember overgrow.com back in 2001?) had deals with seedbanks and marijuana supply companies. Very rare was the hobby website that operated without sponsorship or some form of money generation mechanic. Not to mention, hosting back then was much more expensive. Today it's cheaper than dirt but that wasn't always the case.

<comment><USER13> I was speaking strictly about blog sites not forums. Frost is the New Black[0] is one such site that's cruft free and about the hobby. Granted, it's now defunct, but it's an example of what I mean. Big Bear Butt[1] is another.

Sites like the one you mention have always existed. I was part of a major video content forum back in the mid 00s, and even we had the flashy ads with a circle of affiliates like Shoosh, Kill Some Time, etc. I'm not so naive to think that the '09 web was a place without obtrusive ads and small, optimized web pages.

[0]: [https://frostisthenewblack.wordpress.com/](https://frostisthenewblack.wordpress.com/) [1]: [https://thebigbearbutt.com/](https://thebigbearbutt.com/)

</comment></comment></comment></comment></comment></comment><comment><USER15> Seems like one of the auto-cancel scripts (probably one of the ones for fraud purposes) may have gone off the rails over the holiday. AdSense Ops is indeed global but presumably they're asking the PM/Eng team in Mountain View what's going on, since they wouldn't normally have too much visibility into these kinds of scripts except maybe some automated account notes the script leaves.

Because of the holiday I doubt anyone is in MTV to formulate a fix & response fast enough as it would likely involve corp comms, PM, PMM and other teams (besides eng to actually fix the issue). No excuses for it, but I'd be surprised if it wasn't being worked on now as surely someone probably had to come in last night to begin the triage.

(former AdSense PM)

</comment><comment><USER16> I've had a domain banned on adsense 8 years ago for something a user posted. I still can't speak to a human to help me get it unbanned.

<comment><USER17> My entire account has been banned for 6+ years for someone else clicking on my ads in a way that they claimed was fraudulent. Appeals and offers to turn over server logs all got rejected.

</comment></comment><comment><USER18> Isn't it a bit surprising that a company like Google can't give any helpful support for such an issue just because there is a holiday in the US? I mean AddSense has customers all around the globe...

<comment><USER19> It's not that they can't - it's probably more that they don't want to and think they shouldn't. Show me one Google Service that actually offers decent support (apart form their more recent adventures as Google Fibre ISP).

<comment><USER20> Easy: All of the Google for Work products, namely Google Maps, Cloud Platform, Search, Android or Chrome.

[https://www.google.com/work/](https://www.google.com/work/)

Yes, they're all paid services and some require you to explicitly purchase support on top, but in exchange, you get access to engineers who can go down to the source code and actually _fix_ issues.

(Disclaimer: I'm one of these engineers.)

<comment><USER21> Have you ever used the customer support?

<comment><USER6> Google has excellent support for adsense if you're a large account. At least in my experience at a former employer.

<comment><USER22> That sounds right. The principal business model for AdSense is that it is cheap and profitable because it is self-serve and automated. That's why there is no in-person support.

I think things changed about five or so years ago when they began offering support for their largest accounts.

Maybe there is a business model in this mess. Set up an ads business that feeds traffic to AdSense, but with a markup. Use that markup to provide actual support. The support would be mostly from internal staff, but the hardest questions would go to Google. And they'd be willing to do this, because of the collective size of the aggregated deal-flow.

</comment></comment></comment></comment></comment></comment><comment><AUTHOR> I received an email claiming my AdSense account has been cancelled. I never opened an AdSense account to begin with.

<comment><USER23> Possibly a variant on the old "You need to update your Wells Fargo (or wherever) account information" scam. They blast it out to a zillion people at random, many of whom don't even have accounts at Wells Fargo. That doesn't matter -- many of them do. And of those who do, some will be naive enough to follow the link and hand over their credentials.

<comment><USER24> Accounts are actually cancelled so no, that's not it.

<comment><USER23> It's entirely possible that a scammer would exploit a real large-scale cancellation by sending zillions of fake cancellation messages. In fact, that would make the scam work better. If the intended victim a) has an AdSense account and b) has heard of the (real) cancellations, he's probably going to be much more likely to click on the fake cancellation message.

<comment><USER24> Good point, nicely thought out.

</comment></comment></comment></comment></comment><comment><USER25> I have received that email as well. I did have an AdSense account 10 years ago. The email seems legit (came from email@example.com), the only two links it contains are opening [https://support.google.com](https://support.google.com)

</comment><comment><USER26> If you follow the link now you'll see they pinned a response about 30 minutes ago that links to [https://productforums.google.com/forum/#!topic/adsense/hy0cC...](https://productforums.google.com/forum/#!topic/adsense/hy0cCKvnR90)

It basically says WAI :S

</comment><comment><USER27> It's more likely someone rolled out an update with a bug that sent e-mails use the wrong account criteria.

</comment><comment><USER28> OFFICIAL UPDATE from Google : [https://productforums.google.com/forum/#!topic/adsense/hy0cC...](https://productforums.google.com/forum/#!topic/adsense/hy0cCKvnR90)

<comment><USER29> They could have saved a lot of confusion by simply putting those few sentences on the email itself.

But that would require Google to have some ability to empathize with human beings.

</comment></comment><comment><USER30> Inaccurate headline. Subject line of forum thread is: Just received and Email saying "Your Google AdSense account was recently cancelled"

<comment><USER19> Have to agree - there is no indication (apart from one person speculating about it) that this had anything to do with hacking Google AdSense.

<comment><USER31> Hence the question mark

</comment></comment></comment><comment><USER32> I think it's pretty clear this is not a hack. Please reserve your need to argue about ad block, which is way off topic and irrelevant...

<comment><USER33> The apathy of you, and most other users is as shocking to me as the the greed that is undermining our privacy. To them, our data which constitutes your identity, is a commodity.

Unless we confront this status-quo that is the greed that would reduce you to a fucking "click impression"s your privacy, dignity and experience will be dominated by a culture of selling to you.

All this to say, @gggtex, that Adsense and its ilk's destruction are far from "irrelevant".

<comment><USER34> Disclaimer: I block ads, I don't run any ad on any place whatsoever, I think we users must be in control of our data. That said, @ggggtez point is really relevant, this thread is about technical difficulties on adsense (maybe a hack, although I don't think so) so this is not the place to bring our ad political views, let's keep the talk on topic.

</comment></comment></comment><comment><USER35> I got it as well but I don't have an Adsense account... It went to inbox though and the headers seemed legit.

<comment><USER36> same here

</comment></comment><comment><USER37> SEO blogs report massive numbers of AdSense cancellations with no explanation. It hasn't hit the mainstream press yet. It probably will by noon. Some customers report getting a "violation notice" from Google, but then look at their AdSense dashboard and find no violation listed.[1]

[1] [https://www.seroundtable.com/google-adsense-cancels- massive-...](https://www.seroundtable.com/google-adsense-cancels-massive- number-of-accounts-22336.html)

</comment><comment><USER38> I have a site where I earn a few cents per month from AdSense. It was getting close to $100, where it would have been auto-deposited into my bank account. It was basically set and forget, so I hadn't logged in for a while. I got an email that my account had been deactivated for not being an active user, and my "between $50 and $100" was being sent to my state government as an unclaimed fund. So now I have to fill out a stupid state form and spend $12 on a notary to get my between $50 and $100.

Did Google email me that my account was _about_ to become de-activated, and that I could keep it active just by logging in? No.

<comment><USER39> You might not have to spend that money on a notary after all. My bank offers free notary services for all its account holders, and it seems like most banks offer this service as well. Try contacting your bank and see if you can save the $12.

</comment></comment><comment><USER40> And nobody of those users was able to follow the support request and provide the headers for the emails. Oh my. That's what you get when you don't provide a support email, just a dumb forum.

</comment><comment><USER41> I got this email...

<comment><USER42> +1

</comment></comment><comment><USER43> I'm getting an error when I try to register my website with adsense, but like others have stated... there is no support contact for people making < $25/week. What are the best alternatives to adsense for a website?

</comment><comment><USER44> I have escalated this to folks I am friends with at Google. They are looking into it.

<comment><USER45> Any news?

</comment></comment><comment><USER46> My account got deleted and i've spent over $7 in the last 2 years and disabled adverts this week and it got deleted. If I can't get my data back then doubt I'll ever use Adwords again...

</comment><comment><USER47> My Adsense was cancelled today, thought it was odd but I can't really imagine trying to build my life around serving ads again... I think we never even used it so maybe it's related to inactivity?

</comment><comment><USER45> Same thing happened here. On a google for work account where I never used adsense. After the appeal, I received an email saying that my account wasn't banned for 'invalid activity'...

</comment><comment><USER48> Seems to me like some smart person/persons would be able to build a cryptocurrency-based competitor to AdSense.

</comment><comment><USER49> This is off topic, but: do any of the ad networks permit placing the ad script in an iframe, either sandboxed or with a separate origin? The fact that the ad network gets all your secrets and can (itself or via malicious ads) compromise your site or your users' browsing experience (location.href changes, anyone) is pathetic.

<comment><USER37> Google does not permit placing their ads in an iframe.[1]

[1] [https://support.google.com/adsense/answer/3394713?hl=en](https://support.google.com/adsense/answer/3394713?hl=en)

</comment></comment><comment><USER44> Even i got this email.

</comment><comment><USER37> While waiting for Google to resolve this, I suggest reading Kafka's "The Trial", or the Beckett's "Waiting for Godot".

</comment><comment><USER33> I don't always comment on HN threads but when I do it is so that I can publicly express my utter delight that somebody might be trying to destroy this horrible company!

Thank you, state actor, anti-sec hackers or basement dweller!</comment>