The C++ Build Process Explained - <AUTHOR> https://github.com/green7ea/cpp-compilation/blob/master/README.md <comment><USER3> > You could put a function's definition in every source file that needs it but > that's a terrible idea since the definition has to be the same everywhere if > you want anything to work. Instead of having the same definition everywhere, > we put the definition in a common file and include it where it is necessary. > This common file is what we known as a header.

In C and C++ parlance "definition" should be "declaration" and "implementation" should be "definition".[1] The terminology is important if you don't want to get confused when learning more about C and C++. This is compounded by the fact that some languages describe these roles in the author's original terms. (Perhaps the author's terminology reflects his own confusion in this regard?)

[1] This is indisputable given the surrounding context, but I didn't want to paste 3-4 whole paragraphs.

<comment><USER4> Yes, indeed.

In extremely old code, I sometimes see people preferring to manually write declarations of functions (even libc functions) in every source file instead of including a header.

To add to the confusion, in certain cases, it is possible to put a function's definition in a header file (for example if it's a function template, or in an anonymous namespace, or the static keyword is used to indicate internal linkage). So it is possibly to write this function definition manually in every translation unit.

Otherwise, the ODR rule requires functions to be defined exactly once.

> One and only one definition of every non-inline function or variable that is > odr-used is required to appear in the entire program (including any standard > and user-defined libraries). The compiler is not required to diagnose this > violation, but the behavior of the program that violates it is undefined.

<comment><USER5> As a non c++ programmer, what I don't understand is why do people need to write header files by hand. Surely it should be auto-generated from the source code?

<comment><USER6> Remember you are writing your comment in 2018, what was feasible in 1975 was very different. Programmers back then were smart enough to pull the job off, but the computers they had were limited such that it wasn't worth it. First because the computers were limited programs had to be smaller so the benefit wasn't as great. Second computers were slower so it was worth spending extra human effort once to save a lot of computer effort.

C++ has been working on modules to fix this for years now. It turns out to be harder than you would think. Everyone agrees with the basic problems statement, but there is disagreement on the details. All sides have good points in favor of their approach, and there are some places where you have both as they are incompatible. Progress is being made (and a lot of the incompatibilities turned out to be solvable but it took years of thinking to come up with how)

</comment></comment></comment></comment><comment><USER7> If anybody is curious about how templates work, there are many ways, but the two most historically popular are:

Prelinker:

1\. Compile each file, noting which templates are needed in a section in the object file

2\. Have a special program called the "prelinker" run before the linker that reads each .o file, and then somehow instantiates each template (which usually, but not always requires reparsing the C++ file)

Weak Symbols:

1\. When compiling instantiate every needed template, but mark it somehow in the object file as being weak, so that the linker only pulls in one instantiation for each definition.

The prelinker used to be more popular, as if you e.g. instantiate the same template in every single file, your compiler does _tons_ more work with the weak symbols approach, _but_ now weak symbols are popular both because they are _much_ simpler to implement and the fact that compilation is usually parallel, while linker is typically not means that walk clock times may even be faster.

<comment><USER8> Who actually used the prelinking implementation, aside from those very few compilers that valiantly tried to support "export template"?

<comment><USER9> Nobody, AFAIK. Even with an explicit "export template", it's basically impossible because of of the interaction of all the features of the C and C++ and CPP parts of the language. (Precompiled headers are/were are thing, but they're very brittle. Of course, one assumes you already know this, I'm trying to provide additional exposition.)

People started to use templates for metaprogramming and from that point on the scope for "reuse" of templates isn't really there. (Reusing parsing _might_ be plausible, but it's really difficult because parsing is extremely context- sensitive because of SFINAE, #defines, etc.)

Some might comment that "modules" is "export template" all over again, but this time there are actually 2-3 implementations of 2-3 of the _proposals_ and everyone is confident that the remaining minor problems can be resolved satisfactorily... and they're all exchanging experiences to help each other!

<comment><USER10> "Precompiled headers are/were are thing, but they're very brittle."

In compilers other than Visual Studio, yes (or so I'm mostly told - I don't have all that much experience with them), but msvc has had them since at least VS6 (late 1990's) when I first started using them, and they work very well and have saved me many, many hours since then. Maybe once or twice I had to delete the pch file in all that time, and that was most likely more of a issue of the GUI mangling the saved internal state than the actual compiler.

I've heard pushback against precompiled headers from Unix land for 2 decades, I'm not really sure where it comes from. I have the impression it's mostly cognitive dissonance - 'msvc has it and gcc doesn't, therefore it must be bad because gcc is 'better' than msvc'. It's similar to #pragma once - in use, it's objectively better in every possible way than include guards are, and gcc fanboys still dismissed it back when gcc didn't have them.

<comment><USER11> FWIW, gcc has had pragma once for ages. On the other hand recently we had issues with MSVC not recognizing that an header and its simlink were the same. GCC and clang had no problems.

There is a reason pragma once is not standardized. Defining when to include lines refer to the same file is extremely hard.

</comment></comment></comment></comment></comment><comment><USER12> Watch this: [https://www.youtube.com/watch?v=dOfucXtyEsU](https://www.youtube.com/watch?v=dOfucXtyEsU)

</comment><comment><USER13> Aside, C++ would have been so much nicer without the need for header files ...

<comment><USER14> In principle I agree. An IDE should be able to automatically generate something like a header file regardless of language.

But still, no IDE or tool I've seen does this better. A header file gives you a very nice overview, and it really isn't any hassle to speak of to keep them up to date.

It takes getting used to (as with everything when starting out with a new language), but before you know it you might even start to miss them in other languages.

<comment><USER15> Header files absolutely are a hassle to keep up to date. Besides, they're a terrible experience. You have to pay attention to include order! You have to write forward declarations! You have to write include guards, in 2018!

They're also bad as an overview. They may have been good in the 1980s, but nowadays a proper documentation generator gives you better formatting, search features, and cross-references. Inline documentation is particularly obnoxious in header files: I like seeing function-level documentation alongside interface _and_ implementation, but if I put the documentation in both the .cpp and the .h file it's duplicated in two places and easily gets out of date.

<comment><USER16> Does #pragma once count as an include guard in your book?

<comment><USER17> #pragma once is not in any C++ standard, although basically all modern compilers support it. The reason it is not in the standard is that its behaviour in the presence of symlinks may differ depending on the filesystem and compiler. Is it the unique combination of filename + content that should be included once or is it the file path? etc.

<comment><USER18> > The reason it is not in the standard is that its behaviour in the presence > of symlinks may differ depending on the filesystem and compiler

I have the feeling that the difference matters to almost nobody and should be avoidable by the few people it actually affects. I had more issues with colliding include guards than I had with symlinks and I still end up replacing CLASSNAME_H with PROJECT_CLASSNAME_H in our own headers every now and then since the autogenerated guards are too naive.

</comment></comment></comment></comment></comment></comment><comment><USER19> The section describing how a function call is made appears to be slightly incorrect.

The return value of the `add` function, in most ABI definitions, would be stored in a register. After that, the `main` function may then copy that value to its own space it has reserved on the stack.

This is at odds with the description in the article, which seems to describe `add` passing its return value to `main` via the stack.

(This is assuming no optimizations - all this would most likely be inlined anyway, with no function call.)

</comment><comment><USER20> I've been looking for something like this to send to some C++ newbies. This is almost what I need but not exactly. Is there something similar that explains how libraries work?

<comment><USER7> Libraries are just a bundle of .o files (e.g. run "ar t /usr/lib/x86_64-linux- gnu/libpython2.7.a" on an ubuntu with devtools installed and you'll see all the .o files that are in libpython2.7).

The special thing about them though is that the linker will not include any .o files for which no symbols are referenced.

You can think of the typical linker algorithm as follows:

If I am missing a symbol X scan through all not used objects in each library until you find it, then include that .o file. Now check if any symbols are missing again and repeat until done.

<comment><USER21> > Now check if any symbols are missing again and repeat until done.

That properly describes linking using --start-group/\--end-group. Without those flags, the process is closer to "look in the first .a file for definitions of all currently undefined symbols; then look in the next .a file for definitions of remaining undefined symbols; etc.". The difference becomes apparent if you link chains of libraries in the wrong order, or if you have cyclic dependencies between libraries; normally they will not be resolved unless you use the grouping flags. (But really, you should avoid making such cycles in the first place!)

<comment><USER7> Thanks for the correction. I was posting that from my phone without any references in front of me.

</comment></comment></comment></comment><comment><USER10> "Basically, the compiler has a state which can be modified by these directives. Since every _.c file is treated independently, every_.c file that is being compiled has its own state. The headers that are included modify that file's state. The pre-processor works at a string level and replaces the tags in the source file by the result of basic functions based on the state of the compiler."

I almost sort of get what the author means here but then I don't really. I mean, there is no 'state' for the compiler that is modified by precompiler directives, so this is probably an analogy or simplification he's making here, but I don't really understand how he gets to the mental image of 'compiler state'. Why not just say it like it is: the preprocessor generates long-assed .i (or whatever) 'files' in memory before the actual compiler compiles them, the content of which can be different between compilation units, because preprocessor preconditions might vary between compilation units?

<comment><USER22> It's neither an analogy nor simplification. When he speaks about "compiler state" he means "preprocessor symbol table state". When preprocessor processes a file its state is mutated -- symbols get defined, redefined or undefined.

What you propose as a replacement (an in-memory file) does not provide any insight into why the same file preprocessed twice may end up looking different or why order of included files matter.

<comment><USER10> Well in that case, I guess it's a definition thing. When I teach C++, I find it much more useful to make a clear separation between 'preprocessor' and 'compiler', and not make the preprocessor part of the compiler and then make the... uh... 'actual compiler' also part of the compiler.

When you take the preprocessed state of a compilation unit, by having the preprocessor write it out to disk, and show someone what the effects are of passing one or the other -D flag, or change the order of includes - <USER2> directly and concretely shows what is going on. And then this preprocessed file is passed on to the actual compiler. There is a clear separation between stages, easy to understand, and useful to boot when the time comes you have to debug an issue related to it and you want to look at the preprocessed file to see what's going.

<comment><USER22> > I find it much more useful to make a clear separation between 'preprocessor' > and 'compiler'

Yes, I absolutely agree. And to be honest I cannot imagine explaining how preprocessor works without describing it as a separate entity.

</comment></comment></comment></comment><comment><USER23> Bit of a side-question, but somewhat related. Is anyone working on "whole program compilation"? I don't mean whole program optimisation, I mean an attempt to read _all_ files for a given target in memory at the same time and then generate all translation units in one go (all in memory? and maybe linking them in memory too?). Clearly, there would be caveats (strange header inclusion techniques relying on macros to modify text of include files would break, gigantic use of memory and so forth), but for those willing to take the risk, presumably this should result in faster builds right?

In fact, ideally you'd even generate _all_ binaries for a project in one go but that may be taking it a step too far :-)

At any rate, I searched google scholar for any experience reports on this and found nothing. It must have a more technical name I guess...

<comment><USER24> The terms you're looking for are "single compilation unit" or "unity build".

It's used sometimes, I think mostly to help the compiler optimise better.

Build times for a full rebuild may be faster, but may not, since traditional builds can use many CPU cores. However, it stops incremental builds from working - if you modify one source file, you have to recompile everything.

<comment><USER25> Or a compile server / incremental compilation. Tom Tromey worked on supporting this in GCC years ago, and blogged about the roadblocks that he met on the way. I don't remember the details, but eventually the project was abandoned.

It might still be interesting to read through this stuff--throw "tromey gcc compile server" at a search engine and see what comes up.

</comment></comment></comment><comment> Const-me I don't think that article's accurate. At least not anymore. Modern C++ compilers do less while compiling, and much more while linking. This allows them to inline more stuff and apply some other optimizations.

VC++ calls that thing "Link-time Code Generation": [https://docs.microsoft.com/en-us/cpp/build/reference/ltcg- li...](https://docs.microsoft.com/en-us/cpp/build/reference/ltcg-link-time- code-generation?view=vs-2017)

LLVM calls it "Link Time Optimization", pretty similar: [http://llvm.org/docs/LinkTimeOptimization.html](http://llvm.org/docs/LinkTimeOptimization.html)

<comment><USER11> LTO is still an opt in thing though. I suspect that most pronects still don't use it.

</comment></comment><comment><USER26> I just watched Matt Godbolt's recent talk about the linking process[1]. It's a pretty good talk.

[1] [https://www.youtube.com/watch?v=dOfucXtyEsU](https://www.youtube.com/watch?v=dOfucXtyEsU)

</comment><comment><USER27> I hope someday the build and linking process could be standardized, but I don't believe it will happen, because many members of the committee come from Microsoft, Google and other tech giant who want to sell their compiler (or give it for free, but still).

There are too much Interests and the standardization would kill many of them</comment>


Better HN search with bash - <AUTHOR>

The interface for Algolia search is horrible for picking date ranges so I made this little bash function to fix it (noting that "open" is an alias to "xdg-open" for me on Linux).
Might work in other shells too.

  function hn() {
      if test $# -lt 1 || test $# -gt 3; then
          echo "Usage: $0 <query> [start=1970] [end=now]"
          echo "start and end are ISO dates like 2014-03-23."
          return 1
      fi
      query=$1
      start=$(test $# -gt 1 && date --date "$2" +%s || date --date @0 +%s)
      end=$(test $# -gt 2 && date --date "$3" +%s || date +%s)
      url="https://hn.algolia.com/?sort=byPopularity&prefix=false&page=0&type=story&query=${query}&dateRange=custom&dateStart=${start}&dateEnd=${end}"
      echo $url
      open "$url"
  }
 <comment><USER2> Indeed, we never took the time to plug a date parser. Any chance you've time for a pull-request? [https://github.com/algolia/hn- search/blob/master/app/assets/...](https://github.com/algolia/hn- search/blob/master/app/assets/javascripts/controllers.js#L26) and [https://github.com/algolia/hn- search/blob/master/app/control...](https://github.com/algolia/hn- search/blob/master/app/controllers/api/v1/base_controller.rb#L7) :)

That would be cool!</comment>


Show HN: Javalin, a Kotlin/Java REST API framework (big api changes) - <AUTHOR> https://javalin.io/news#major-api-changes <comment><AUTHOR> I made some major changes to the API this week, moving from _(req, res) - > {}_ to _ctx - > {}_. Would love some feedback.

<comment><USER2> Nice change - it's a shame this got buried.</comment></comment>


Cable companies aren't "forcing" people into piracy - <AUTHOR> http://www.marco.org/2012/11/29/forcing-people-into-piracy <comment><USER2> Just to be clear, there is no moral right to copyright. It's a legal artifact we created to advance society by rewarding artists and other creators for content created in the hope they'll create more/better stuff.

However, it's now being used to hold back society, via actually preventing people from accessing the copyrighted content. Worse, copyright is being used to justify restrictions and prohibitions on new methods of distribution and entire new technologies.

They may not be forcing people to copyright, but they have lost the moral standing to complain about it.

<comment><USER3> There is a moral right to own that which you have produced, and it is definetely not an legal artifact but an expression of the concept of individual rights.

Furthermore, it isn't copyright that is preventing people from accessing the content, but the fact that these corporations have not evolved their business model to the way consumers consume content these days.

There may be several reasons as to why that has not happened (they may still be making enough money with their old business model and are risk-averse to try new things) but claiming that the creators of something do not have the moral right to own their creations is an absurdity.

<comment><USER4> "There is a moral right to own that which you have produced."

Sure. You produce a tool, it's your very own tool. You produce a painting, it's your very own painting. You produce a pie, it's your very own pie.

Ralph sees your Very Own Tool and decides that'd be handy. Ralph knows taking your Very Own Tool would deprive you of your property and decides he won't do that. Not to mention it's a physical item and the law has something to saw about theft of physical items. So Ralph, being the upstanding citizen he is, makes another tool just like yours - his Very Own Tool. Ralph's also a bit of an extrovert and tells everyone about this great new tool and other people want one. So Ralph sets about making more of the tool you designed to sell to other people.

Do you have the _right_ to be upset at Ralph for making money off your idea without compensation to you?

Controlling _copying_ of your creations is what copyright is about. It says that with respect to certain works, you as the creator own the _right_ to make _copies_ ... or to license other people (or companies) to make copies.

P.S. Now don't get me wrong - I understand that a tool design is probably best protected by patents. Maybe this "tool" is a sculpture that's also useful to accomplish a task. My argument is about "intellectual property" in general.

<comment><USER5> You can make your very own Game Of Thrones. Start with finding a writer to make you a script. Good luck.

</comment></comment></comment></comment><comment><USER6> This argument strikes me as missing the point. Piracy isn't a morals problem, it's an economics problem. Exhorting pirates to stop being pirates is likely to be about as effective as Don't Copy That Floppy or trying to fight drug cartels with Mr. Mackey and DARE -- they don't think what they're doing is wrong, or they don't care, and you're not going to change their minds.

Which leaves you with an _economic_ choice. Either copyright holders can have more availability and less piracy, or the other way around.

Now maybe they decide they want less availability and more piracy -- maybe they think (almost certainly incorrectly) that that will make them more money. But if that's the case then you might as well go ahead and give up on the pirates, because that's the decision you've made: The decision to create a supply shortage and therefore a market incentive for piracy sufficient to create a critical mass of pirates and commercial enterprises reliant on piracy who, once established, will fight for their own continued existence.

The best case scenario is that the outcome is less _violent_ than the organized crime families created by prohibition or the drug cartels created by the War on Drugs.

Or you can make sure everybody can get their fix from legitimate sources. Then piracy becomes less profitable because it has less of an advantage over purchasing, and some existing pirates discontinue their pirating, which reduces the strength of the pirate community, reduces the demand for illicit releases and thus the incentive to supply them, etc.

But hey, it's your decision. Do whatever you want. If you want you can fight the market and then wail about morality when the inevitable economic consequences ensue. But I wouldn't.

<comment><USER7> _Piracy isn't a morals problem, it's an economics problem._

I find it difficult to reconcile this with the near-constant moral tirades about it, such as those which claim piracy is not about people being cheap, or those which claim rightsholders are "forcing" people into piracy.

One might also recognize those arguments as _the ones this post is actually addressing_ on its way to (as you say) "missing the point".

<comment><USER6> I think we have to distinguish two arguments the pirates make. Some are saying that they intend to consume your content one way or another, and if you offer it in a convenient medium for an appropriate price then they'll buy it, and if not then they'll pirate it. That's an economic argument. You could call it an economic threat and try to make the moral argument that they shouldn't be doing that, but unless you can actually stop them in a just and cost-effective manner then you're just back to barking up the wrong tree if your goal is to actually accomplish anything.

On the other hand, there are pirates who argue that if the content provider doesn't provide the content in a convenient format at an appropriate price then it's _justifiable_ to pirate it (rather than just doing it whether it's justifiable or not). But that's not really an argument at all. It has to be justifiable because of something. And if it isn't then the pirates are in the same pit as the article: No reasoning and no plan. But maybe the pirate argues that copyright is unjustified whatsoever as a constraint on expression or what have you. Maybe they make an argument about the social contract, where copyright is granted to promote dissemination of new works, and works that are created but not sufficiently widely disseminated are a breach of the contract on the part of the copyright holder that justifies a breach on the part of the consumer. Maybe some other justification. But these are inherently economic and policy arguments with correspondingly clear plans of action: Abolish or reduce copyright, blunt the social cost of the copyright monopoly by allowing as fair use any use the copyright holder fails to supply to the market on reasonable terms, etc.

The article doesn't choose any such premise to attack, it just says "no, dirty pirates are bad and piracy is wrong." That isn't rebutting anything. It doesn't solve anything. There is no plan of action. It's just "no" -- how is that good for anything?

</comment></comment></comment><comment><USER8> The validity of Marco's argument rests on the fact that "if you just wait, you can get the media through a legit source".

The problem is that there are things that never are going to eventually become available, for example:

\- Culture specific or non-mainstream programming \- Reality TV from other countries

Given that you're never going to even be given the option to pay for something, I think the argument breaks down.

<comment><USER9> Nonsense. I'm a designer (say) that makes fancy clothes. I will only ever sell to famous Hollywood types, so they'll wear my clothes and make them trendy.

Because I'd never sell them to you, do you have the right to take my fancy clothes without paying for them?

<comment><USER10> Or, better example: you make some popular clothes. Hollywood is wearing them and they are just THE RAGE. You'd like everyone to wear your clothes, but you think it's better to force people to buy them from your Santa Monica boutique that is only open on Sundays for an hour, and require a receipt from the parking garage to get in the door. People who have been to your store in the last month are allowed to order online, but only a month after you release a new line. A year after you release a new line, you make everything available online, but only if you buy the entire line at once.

Another clothes-maker, noticing the popularity of your design and the growing frustration of your customers (and potential customers), creates clothes that look and feel exactly like yours, and make them available with free shipping online within a few hours of you making new designs.

Your customers (and potential customers) who don't live in Santa Monica, or those who can't make it to your store during business hours, or those who take public transit—frustrated with the roadblocks you've put between your clothes are their wallets—start buying from the pop-up e-tailer.

You complain about how this (and this alone) undermines your business. Your customers say you forced them into it. Neither of you is right.

<comment><USER9> That's fine. My point was simply that "they won't sell this to me" is an absurd justification for simply taking it.

<comment><USER10> Agreed. But making the point that offering an alternative to piracy (a real alternative... the point is simplicity) will solve part of the problem and is good business sense. But it's change, so it's scary.

People waving fistfuls of cash in your face isn't a bad problem to have.

And, no, that won't stop piracy. Some people just don't want to pay for something if they can get it for free. But those people are not taking dollars away from your income statement: they never would have bought in the first place.

</comment></comment></comment></comment></comment><comment><USER11> I'm getting sick and tired of these "and if enough people do X, it will REALLY send a message" exhortations.

People are lazy. The only way to really get them riled up is if they fear for their future. Otherwise the whole "if enough people do it" argument is moot.

Want to make a difference? Hit people where it hurts. The legality and morality of how you do so is up to you, and is entirely dependent upon circumstance.

Actually, here's an "if enough people do it" argument that actually works: If enough people pirate shows because they can't find them via legitimate sources in the way they want, they'll expose a market opportunity. Now get off your goddam high horse.

<comment><USER12> The only thing worse than spouting off about how other people should do something is spouting off that other people doing something is useless.

Actions always trump words.

<comment><USER11> "Actions always trump words."

My point exactly.

</comment></comment></comment><comment><USER13> So I'm in the market, looking for the next season of my favorite show not yet aired here in Finland. Clearly I can't watch it from the TV. Netflix does not offer the show in here in Finland. What options do I have?

Legitimate content providers have failed in a game called free market. Last time I heard free market was quite popular in the USA.

<comment><USER14> Do without. Watch something else. Play cards. Go for a walk. Write some code. Start a side project. I don't understand why that's a hard concept to grasp.

Really it just sounds kind of pathetic that you can't control yourself enough to simply not sit in a chair or whatever and watch _this exact movie_.

<comment><USER15> This argument is bad. First of all, piracy is not morally wrong, the morals of it are ambiguous, just like everything else. Second of all, it's not JUST ONE EXACT MOVIE. It's a plethora of films and shows and most people enjoy watching them once in a while... Nowadays, we have this thing called the internet where people can send information to others with minimal cost and effort. If a content provider does not wish to make money by conveniently providing me with entertainment I will oblige them by not giving them my money. I will still watch the movies I want to see though. Some of us are pathetic and don't like to wait when there is no reason to.

<comment><USER14> I think piracy is morally wrong. It's quite simple. Take your argument for pro-piracy to the logical conclusion. Everyone consumes all media through piracy. Does that world look as entertaining as the logical conclusion of people pay money into the system that creates the entertainment?

I think it'd be hard to argue that a system where people have to give up time and resources to produce something consumed by those who put nothing back into the system is sustainable.

Pirates benefit from the system without contributing to the system. That's morally wrong.

I find it hypocritical that the very software systems that enable people to pirate have built in algorithms to limit the activities of those who take more than they share. Those who take but don't give back are called leeches and even the leeches don't like leeches.

<comment><USER2> Well, let's take pro-copyright to it's obvious solution.

You owe a MASSIVE amount of money to the heirs of Shakespeare, anybody of Greek descent, Decartes/Leibniz/Newton, etc. etc. for your early education.

Because, if copyright really is a moral right it doesn't expire and you have a lot of back taxes to pay.

Cough it up.

</comment></comment></comment></comment></comment><comment><USER16> By not watching the shows at all HBO (or other companies) cannot aggregate consumer demand for their show. If you are interested in watching a show and find it inconvenient then blatant pirating can actually help a cable company quantify the demand for the time and mediums of distribution. (yes those companies track aggregate pirating stats)

<comment><USER17> Thank you for saying what I came here to say.

Let's look at two scenarios: They both involve a show that 100k people want to watch, but 20k of those people can't/won't watch it using the methods legally provided. (Fuzzy/simple math to illustrate the point.)

In scenario one, those 20k pirate the show instead. This means that the known demand for the show is 100k viewers, 80k using legal distribution, 20k using illegal distribution.

In scenario two (what Marco proposes), the 20k simply don't watch it at all. In that case, the known demand for the show is 80k viewers total, all of which obtained the show legally.

In scenario one, the content providers know there are 100k units of demand, 80k of which they are receiving revenue for - which implies 20% of the viewers want the show, but not for its current price/availability. Thus, they have a semi-accurate view of demand.

In scenario two, the content providers only know there are 80k units of demand. They don't know that the other 20k users even exist, or are at all interested in the product. They have less usable information, and no change is enacted - if they don't know those 20k exist, their absence can't be noted.

In this case, piracy provides an indicator of unfulfilled demand, whereas abstaining from piracy provides no feedback whatsoever. I think the concept of "protest via absence" in this situation isn't going to do anything useful.

<comment><USER18> _In this case, piracy provides an indicator of unfulfilled demand_

Only if the content providers actually _treat_ it as an indicator of unfilled demand. They're not; they're treating it as an indicator of criminal behavior.

If piracy is an indicator of unfilled demand, the correct response is to _fill the demand_ by changing your method of distribution. It's not to sue people and try to buy ever more draconian government enforcement.

<comment><USER19> False. Media companies do analyze peer-to-peer networks as part of their viewer analytics. See, for example, "Big Champagne."

<comment><USER18> How does that contradict what I said? I wasn't talking about whether or not the companies have the data; of course they do. I was talking about what they _do_ with the data.

<comment><USER19> I don't think their outward actions are a reliable indicator of how they're using these data internally. I _do_ think that these analytics can play a big role in which shows get cancelled.

(edited further for clarity.)

<comment><USER18> _I _do_ think that these analytics can play a big role in which shows get cancelled._

So what? How does that fix the distribution problem that motivates people to pirate? And how does it affect the propensity of media companies to sue people who pirate, instead of fixing their broken distribution system?

<comment><USER19> The 'so what' is that Marco is telling people to boycott cable companies by not watching their shows, which would most directly hurt the writers, artists, directors, etc, who have worked really hard on their shows.

<comment><USER18> I don't see how pirating the shows, as opposed to not watching them, is any better for the writers, artists, directors, etc. all things considered. Yes, in the short term, a show might not get cancelled if pirated demand is taken into account. But the global effect is that more and more people hate the media companies because they prosecute ordinary people that just want to watch shows and movies, instead of fixing their broken distribution system.

Sooner or later that is going to catch up with those companies, and when it does, all the writers, artists, directors, etc. who have tied their fates to the fates of the media companies will go down with them. If anything, pirating, as opposed to just not watching, postpones the pain of that happening, which will make it even worse when it finally does.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER20> I think there is an obligation to obey the wishes and rights of the content providers regardless of your respect for those obligations and whether or not those arrangements serve you fairly.

To demand the ability to dictate terms of the arrangement and disregard the terms offered to you is enlightenment. (The special case of this is when an entity represses another with a monopoly, but that doesn't apply here as there is no single monopoly on all entertainment.)

You may be the shows, musicians, entertainments, etc's target _audience_ but you are not in the current target _market_. As others routinely point out, content providers need address this. It is a failure for them to not capitalize on an audience.

The pragmatic solution is to sponsor organizations and entertainment that you are the both in the target audience and target market. Ad supported media, Humble Indie Bundle, Pay-what-you-want entertainment and Kickstarter projects are all ways you can easily support content on more respectable terms.

By pirating, you really are letting content providers off the hook by not forcing them to compete with providers that you favor. There is an opportunity cost that you pay by not investing in media where you were the target market and those vested parties respect you.

Edit: grammar

</comment><comment><USER21> Most of my video consumption is through legal means, be it recording to my HTPC, or when I cannot, buying from Amazon Instant Videos (it fits my needs: iPad/Roku/Bluray player apps).

When the video isn't available that way, you bet I pirate. If your business model relies on your customers to avoid activities that are convenient, easy, and get them exactly what they want and the only argument against _not_ doing it is that to the consumer, the activity rises to the standard of "morally questionable" at worst, your business model needs to be fixed. Everything I pirate is a lost sale not because the pirated version was available, but because the legal version was not. And the pirated version will _always_ be available.

As the gatekeepers to the content, the movie/TV industries could provide an incredible product with an amazing customer experience and make money hand over fist. Doing that would push piracy off to only the "digital hoarders" who wouldn't be buying it anyway. But they aren't even getting the very basics. Start with giving consumers a _way_ to pay for the product. I'm probably just a simpleton here, but to me the equivalent of their business model would be like walking into a grocery store and seeing a pile of fresh oranges with a sign that says "If you want one today, you'll have to steal it. Come by next Tuesday at 8:00 PM and we'll let you eat one while listening to a guy talk about how good bananas are for 4-6 minutes. We don't sell these". Not a perfect analogy since the act of stealing the orange doesn't make fewer oranges available, it just keeps the store from receiving more money.

There's a TV show called "Ed" that I enjoyed growing up. Because of a licensing mess surrounding the background music in several episodes, it will likely never be released in any format. I'm a rabid fan. I'd pay $200 a season for a legal release in any format that I could playback _somewhere_. Instead, I've got these horrible SLP VHS to overly compressed MPEG versions that I recorded when it originally aired. I still watch them, but on my larger television the picture is nearly indistinguishable from a Jackson Pollock painting.

</comment><comment><USER22> "If you can't watch something legally until it comes out on Netflix or whatever service you use, you have only two justifiable options: either wait, or don't watch it."

Or, alternatively, if you're going to anyway what's the problem again?

Mass media is meant to be a convenient, efficient market. When it isn't the moral failing is not on the part of consumers.

<comment><USER21> And the market is convenient, and efficient. It's just that the most convenient and efficient market for much of Television/mass media happens to be the black market. Until the legal market is as convenient, the problem won't go away. And it is possible to beat a casual pirate this way. I haven't pirated a music track in probably a decade thanks to iTunes and Amazon/Google's music stores.

<comment><USER23> Only if you don't care about Audio Quality. If you do the only way to get music legit is to buy a CD, copying the files and tagging them yourself. Except for classical and some other niche genres that have sites selling sizable catalogs of lossless.

</comment></comment></comment><comment><USER24> I'm not sure I see the point in arguing that piracy is or isn't justifiable. It's happening and it seems to be increasing. The sad fact is that it's easier to pirate than it is to pay. I pay for cable, HBO, Showtime, etc. but exclusively use a Mac Mini and torrent everything. Do I feel that what I'm doing is justifiable, no. Is it easier for me, yes.

<comment><USER25> Only if you're obsessed with watching something specific. If I wanted to watch a film, it's much easier to pick something off iTunes or Netflix than download a torrent. If they don't have exactly the thing I wanted to watch, I could go and pirate it... or, you know, just watch something else. I think lots of people are too obsessive about their media consumption for their own good. The prevalence of torrents is symptomatic.

<comment><USER24> Sorry for the late reply. "Only if you're obsessed with watching something specific." I take issue with the word "obsessed" but I agree with you point. I'll even, try to, do you one better; if I want to watch something it's easier for me to turn on the T.V.

"I think lots of people are too obsessive about their media consumption for their own good. The prevalence of torrents is symptomatic."

I'm not sure I'm following you. If I do understand you then I think you're wrong here. It's a bit like saying people are too picky about the music they listen to; the Billboard's top 50 should be enough for them etc.

</comment></comment></comment><comment><USER26> Downloading TV shows is actually not illegal in many countries. Usually, only uploading is illegal.

Morally, is is questionable. You can program your video-recorder (if you still have device like that) and let it record the TV show when it airs and watch it later. Or you can skip recording it yourself (because constantly recording everything is boring and wasting resources) and download it from piratebay. Is there really a difference? And if the show in question is inaccessible in your country, should you wait years for it? I would not.

</comment><comment><USER27> You can do this, but unless you complain too, most companies are not going to notice for a long time.

I suspect most of these companies still don't really understand the problem - for example I don't want to wait 6 months (in the UK) to see something that's already on TV in the US. I'd happily buy the series on DVD rather than wait. It's not about cost, but if I watch another way, no one who made it will get any money.

</comment><comment><USER28> Marketing campaigns make people "want very badly" what they can't have. Yet they can, and they don't even have to pay for it.

At some level, the copyright issue is just a question of "wants" vs "needs" of humans. When does "wanting something badly enough" become "needing" it? Are we addicted to content -- are Big Media the dealers leeching off our habit?

<comment><USER23> Not everything copyrighted is a throwaway popular culture movie. If they were, perhaps it would be justifiable to completely eliminate public domain.

Everything after 1923 is in copyright, and thus affects an era even before movies with recorded sound were even invented.

<comment><USER28> I've read this several times and I'm still not able to understand what you mean. Part of your post seems like it's opposing mine, while another part is supporting mine...

</comment></comment></comment><comment><USER29> This argument is, I think, completely correct, but also to a certain extend irrelevant.

The real discussion should, in my opinion, be held on the supply side of digital content for it still seems to be crowded with companies who for better or worse can not or will not deal with the ramifications of our new networked world and keep dwelling in poor service whilst preaching that piracy is sinful. Companies, whom I might add not so long ago, were happy to push for legislation that would alter the way our basic democratic freedoms work, all in the name of copyright.

I find anti-piracy crowd to be highly similar to politicians or policy-makers who advocate abstinence. In principle the argument is correct, you only need to forget that in the real world people don't quite work that way.

Piracy, in the end to me, is not a moral problem, but a service problem. If you care to fix it, that is.

</comment><comment><USER30> Nothing really "forces" people into piracy. They "choose" to do it.

</comment><comment><USER31> Realistically, many shows will never make it to my country. So my two choices, in fact, are: 1) Don't watch it. 2) Watch it. It's not that I'm cheap or impatient. It's not even that I'm lazy (though I am), unless you count not being willing to move to the US.

<comment><USER14> Same is true for citizens living in the U.S. with regards to BBC and CBC shows like Dragon's Den. I really like to watch BBC docs, but I don't feel the need to go and download them illegally or anything. There's a lot of great stuff from all over the world that USA people can't watch.

I really don't understand the entitled argument. I don't get why consumers feel they are owed the right to be entertained by any particular piece of digital media.

Why not just watch something else? There's plenty of good stuff out there that can be obtained within the rules. Why not argue for all the legal options rather than the entitlement option?

<comment><USER31> Turn that around. I have a friend in America who wants to show me one of their shows, perhaps so we can talk about it afterwards. Why shouldn't she?

Because it's illegal? Lots of things are, that's not persuasive in itself.

</comment></comment></comment><comment><USER32> Original essay:

[http://www.thedailybeast.com/articles/2012/11/28/why-are- cab...](http://www.thedailybeast.com/articles/2012/11/28/why-are-cable- companies-forcing-people-to-turn-to-piracy.html)

<comment><USER24> I'm not the original poster but I'm more interested in discussing Marco's post than the original. The original is attacking a straw-man.

</comment></comment><comment> mark-r Be sure to read the follow-up: <http://www.marco.org/2012/11/29/the-wrong- movement>

</comment><comment><USER33> Marco has a point here. So, without further ado...

Hey Netflix stop saying you're sorry for not being available in Italy and please sort it out already.

</comment><comment><USER34> I recently ditched my cable company but not because I felt they were forcing me into piracy. I agree with this article, though I do still occasionally pirate television. Mostly I use Netflix on my XBox, which I pay for, but Canadian Netflix is pretty lame. I agree pirating is morally questionable, though I don't feel bad the slightest bit when I do it.

</comment><comment><USER35> Whether piracy is wrong or not is irrelevant. The fact is, as long as piracy is possible, people will do it. And it will continue to be possible for the foreseeable future. Complaining about it is as pointless as complaining about the weather.

If it's hurting your business, that sucks. Adapt.</comment>


Jet.com's Strategy: Low Prices, Fast Delivery, Happy Workers - <AUTHOR> http://www.nytimes.com/2015/12/27/technology/jetcoms-strategy-low-prices-fast-delivery-happy-workers.html <comment><USER2> Jet.com employees are happy. How do we know they're happy? Well their CEO comes and asks them directly if they're happy. "The company's chief executive says, "I'm constantly asking people at Jet if they're happy."" And guess what they tell this CEO, they tell him "I'm happy". They value happiness so much they gave out a happiness survey. Guess what? Turns out almost everyone is happy, just look at these images of smiling faces. Jet.com is happiness.

NYT... what the hell. I guess it's remarkable you held out longer than the rest.

</comment><comment><USER3> What a load of BS. So the message is what? If you blow through giant piles of VC cash spending money like crazy you can make some employees happy?

One gets to put out such puff PR pieces and be taken seriously if you're profitable, or even close to profitable. Then you're actually saying something. "Look at us, we run a great business and have happy employees." Otherwise, yes if you light mountains of money on fire some people will get a good ride out of it... until the cash is gone then it's a bloodbath.

Jet's business model is, well it seems they no longer have a business model other than seeing how fast they can burn cash. I wish them well, but seriously right now this company looks like a friggin' mess with no clear long term path forward.

<comment><USER4> I suspect that the goal is to be acquired by some big profitable company that wants to dip its feet into e-commerce. Or even being acquired by Amazon, which would probably want to eliminate all competition, even if its not profitable. The CEO of this company made a lot of money selling his last company to Amazon -- he's probably hoping to do the same here.

<comment><USER3> Perhaps, but that seems unlikely given their current play. The CEO previously managed to be a pain in the side of Amazon in a niche space and started a pricing war around that area (diapers for one). In the end, Amazon basically bled them dry and acquired them but at a relatively lean valuation in what was essentially an acquihire. In the context of this article, that accession didn't work out so great for most of the employees. That old company still exists within Amazon, but is mostly a mess.

Such a scenario wouldn't work out well for Jet employees in the current context either given the astronomical amounts of VC cash that were put on the table. Typically those VCs need to be made whole and then some before anyone else sees a dime. Given previous articles about Jet's fundraising challenges last go around and a market that's increasingly skeptical of lofty valuations with little substance it's not clear at all how this turns out well unless Jet can show it's a real business with real value long term and not just some crazy experiment in seeing how fast one can burn piles of cash.

</comment></comment></comment><comment><USER5> Be careful of this author. He has an ax to grind with Amazon: [http://www.poynter.org/news/mediawire/253744/david- streitfel...](http://www.poynter.org/news/mediawire/253744/david-streitfeld- on-amazon-they-dont-care-if-theyre-liked/)

<comment><USER4> This is the same reporter who co-wrote the "Inside Amazon" article.

</comment></comment><comment><USER6> A puff piece about a struggling online retailer. Seems like a typical submarine article to me [0]

[0] [http://paulgraham.com/submarine.html](http://paulgraham.com/submarine.html)

</comment><comment><USER7> What good are those happy employees if Jet can't provide good service for customers?

I wanted to try Jet, so I bought a monitor expecting 2 - 5 day delivery. 2 days after I placed the order, I got notification that the order had shipped.... but Fedex didn't actually scan the package until the end of the day after that. Then I discovered that it was sent as "Direct Signature Required", which means it has to be signed by me, not by a neighbor and not just signing a door tag, I had to be home to sign for it.

I contacted Jet to see if they could redirect it to my office, or remove the signature requirement, but they couldn't do anything since it was shipped by a partner.

Since I didn't want to wait another 5 days until a delivery attempt so I could _pay_ Fedex to redirect it to my office, I placed an order from Amazon for the same monitor. 3 hours after I placed the order, Amazon sent a shipment confirmation, and 2 days later, the monitor was on my front porch, no signature required (for $7.99 they would have have it there the next day)

Fedex ended up delivering the monitor on a Saturday, 9 days after I placed the order (7 business days for their "2 - 5 day shipping"). I processed a return online (which was relatively easy and painless), and 2 weeks later I had a refund -- Amazon does returns better -- when I do Amazon returns, they credit me as soon as UPS has the package.

Jet has a long way to go before they can declare themselves an Amazon killer.

</comment><comment><USER8> I emailed their customer support last week because one of the 4 similar items (deodorant!) that I had purchased was expired and rotten. Even sent them pictures. No response, not even a 'we received your email' message. So maybe customer support isn't a priority either. =(

<comment><USER9> The fact that you sent pictures could've caused the email to get spam-binned.

<comment><USER10> Anecdotal story from a different online retailer (soap.com) - sent photo showing that the cat litter they shipped had broken open a little bit.

No real damage done as it was still totally usable; thought I would let them know to help improve shipping methods. Within a few minutes a rep emailed with a personal story about how they had a cat too and would have been bummed about that too and then issued a refund.

I like that story and haven't really had a time to share before now :)

</comment></comment></comment><comment><USER11> FTFY: Jet.com's Strategy: Low Prices, Fast Delivery, Happy Workers, Huge Losses

</comment><comment><USER12> Their on-site tools are total garbage, so I tried playing with their API... and it was also a giant pile of trash. Random exceptions, timeouts, incoherent structure all around. 0/7 would not play with again.

<comment><USER13> The API wasn't too bad, but it's woefully under-documented. The sample code is worthless. I also don't like that you have to implement it all and run it against test before you get production keys, but no biggie.

The bigger issue: I uploaded my catalog 2 weeks ago, and all products are still "under Jet review". I emailed and they said some partners have waited over a month.

</comment></comment><comment><USER14> I haven't noticed their prices are significantly better than Amazon to warrant the switching costs, which include giving up one click purchasing and free two day shipping (Jet offers two-day shipping on some products, and shipping is only free if you spend $35 or more).

Maybe they're better for household goods than electronics, but every time I browse Jet, it feels like I'm going through the bargain bin. Odd prices and odd sorting don't make for a great experience. For example, a search for "iPhone" returns one result for something that looks like a fishing pole. There's no product description and I can't tell if it's so you can play fishing games on your phone or if it's to attach your phone to a pole. Either way, to see iPhone accessories, you need to click the tiny "Electronics (10,000+)" link at the top of the page.

Once you actually click into a product page, they seem really bare. Amazon offers some great tools to help make a purchase decision (ratings/reviews, category rankings, recommendations), which Jet doesn't (and can't) offer.

They're really pushing Jet Anywhere, but I can't see how that does anything other than lose them more money. Along with a $50 off first purchase coupon and $100 in Jet Cash I racked up, I gave Jet $150 to buy me a $300 PlayStation 4 from Newegg. I know I'm an extreme case, but $150 customer acquisition cost for someone who didn't particularly enjoy the experience and probably won't shop there again seems to fit with the narrative that they're burning through cash.

</comment><comment><USER15> Jet.com has really slow delivery. I ordered twice and they delivered in 1-2 weeks.

</comment><comment><USER4> > An analytics applicant came into Jet for an interview. In some ways he was a > model candidate, smart and driven. But he did not score high in the "plays > well with others" category. Asked to talk about a recent project in which he > was a member of a team, he could not think of any. His prospects immediately > diminished to zero.

I hate this anecdote. Just because he could not, on the spot, think of a project in which he was a "member of a team," he is unable to "play well with others"? What if at his previous company he was asked to work by himself for projects? Does that mean he can't work in a team if he was made to? Does that say he's not good at analytics and doesn't deserve the job? Or what if he couldn't think of a good example of a project involving teamwork? I really hope this anecdote is merely incomplete.

</comment><comment><USER16> I don't know what to make of Jet.com. I was interested in their initial model of trying to be an online, membership-funded retailer in the vein of Costco. Now that they've signalled a move away from memberships I don't know what their advantage is.

My anecdotal experience is that they have a smaller selection, worse fulfillment, and worse customer service than their obvious competitor, Amazon. Their site and product description pages leave a lot to be desired so even if they can undercut Amazon by a small amount, I'm going to order from Amazon instead because I have more confidence that I'll receive what I ordered, on- time, and have a better experience if I need to return anything.

Jet.com has a very large hill to climb here but I wish them well.

</comment><comment><USER17> I like Jet and hope it sticks around. I just don't know how it will make it based on their pricing structure and how much money they can lose on transactions.

For example, a month ago I bought an office chair. The retail price of this chair was $160. Jet.com was offering the same chair for $112. I was shocked. Plus they have a 15% off coupon for your first order. Needless to say, I bought the chair.

Jet ordered the chair from another website at the full retail price of $160 but turned around and was selling it for $112 with free shipping and a 15% off coupon code.

My purchase price was just $95. Meaning Jet lost at least $65 on this transaction.

I just don't know how they will stay afloat without constantly asking for money from investors. And how long will that go on for?

<comment><USER18> I read an article that Amazon has no profits most years [0]. Maybe that's the financial model they are going after. I share your view on this though, because until they reach that point, they are running a big risk. It will be interesting to see how long they can keep it going.

[0] [http://ben-evans.com/benedictevans/2014/9/4/why-amazon- has-n...](http://ben-evans.com/benedictevans/2014/9/4/why-amazon-has-no- profits-and-why-it-works)

<comment><USER19> The difference is that Amazon had no profits in the early days because they poured money into improving their supply chain not selling products at a loss as a strategy. Drop shopping isn't the same as building your own supply chain out. There is no strategic advantage to be had placing orders with a drop ship network.

</comment></comment></comment><comment><USER20> Typical aditorial.</comment>


Objects that can change colors like a chameleon - <AUTHOR> https://techxplore.com/news/2019-09-chameleon.html <comment><USER2> Had the same idea 5 years ago but never tested it. The way I thought about solving it was more complicated, it involved a laser protector matching the absorption frequencies for each photochromic crystal (CMY) thus selectively heating each color. The only manufacturer of photochromic inks I knew was Zink but I didn't even imagine they would be willing to ship me some samples because they use them for their products. I could have asked my university for help but their policy was to keep 98% of the patent.

</comment><comment><USER3> But what does Chameleon say? [https://www.youtube.com/watch?v=VNkDJk5_9eU](https://www.youtube.com/watch?v=VNkDJk5_9eU)</comment>


Hackers have been stealing credit card numbers from Trump's hotels for months - <AUTHOR> https://www.washingtonpost.com/news/business/wp/2017/07/11/hackers-have-been-stealing-credit-card-numbers-from-trumps-hotels-for-months/ <comment><USER2> The so called tolerant left is stealing the credit card information of hundreds of poor trump hotel employees and residents! /s</comment>


'Pastafarian' wins right to wear colander in driving licence photo - <AUTHOR> http://www.bbc.com/news/world-europe-35305899 <comment><USER2> "won the right" like he wasn't allowed to do that, then he was? The article, if you could call it that, doesn't really say much more than the headline.</comment>


N.S.A. Leaks Make Plan for Cyberdefense Unlikely - <AUTHOR> http://www.nytimes.com/2013/08/13/us/nsa-leaks-make-plan-for-cyberdefense-unlikely.html?partner=rss&emc=rss&smid=tw-nytimesworld&

<comment><USER2> The arguments made for the plan (and NYT's reporting of it) seem extraordinarily stupid. Nowhere in this article does anyone question the initial premise of "monitor everything or nothing". What exactly is the need to monitor the entire freaking internet for malware? Why can't they just deploy their security, whatever that is, on high-value targets like, say, the government networks, power plants etc? (I'll be generous and assume their software is for protection against things like stuxnet... why would these networks need to be connected to the internet in the first place?) The argument of all-or-nothing seems like complete nonsense, to say the least.

> Senior agency officials concede that much of the technology needed to filter > malicious software, known as malware, by searching incoming messages for > signs of programs designed to steal data, or attack banks or energy firms, > is strikingly similar to the technology the N.S.A. already uses for > surveillance.

The mind boggles.

<comment><USER3> The monitor everything or nothing thing is a false dichotomy. As is the assumption that the NSA needs to be the ones doing it.

That said,critical infrastructure covers a hell of a lot more than that if your trying to protect against targets in a full blown war. What happens if I take out Visa or Mastercard's payment systems? Walmart's logistical planning and inventory systems? The container management systems at major US ports?

</comment></comment><comment><USER4> Have they been doing a good job at tracking down phishing and other attacks from overseas thanks to all of their email monitoring? That would seem a close analogy.</comment>


I won't troll IE - <AUTHOR> http://i-wont-troll-ie.com

<comment><USER2> What about trolling people that reaches for JavaScript to center text? :-)

<comment><USER3> Vertical centering usually requires weird hacks (either you know the height in advance and use negative margin, or use tables / display:table)

The part that annoyed me is the vertical centering is not preserved on window resize.

<comment><USER4> It can be done with flexbox now[1]. Which IE11 also supports[2] :)

[1][http://css-tricks.com/centering-css-complete- guide/#center-v...](http://css-tricks.com/centering-css-complete- guide/#center-vertically) [2][http://caniuse.com/#feat=flexbox](http://caniuse.com/#feat=flexbox)

</comment></comment></comment><comment><USER5> Am I missing something? Why did this get even a single vote?

<comment><USER6> Beats me. Looking at the source doesn't help much. "I won't troll IE... because it's about time that I stopped."

"Trolling" doesn't even seem to make sense in this context. Have they been riling up IE by insulting it or intentionally playing dumb?

Seems dumb to flag this, but it's times like this that I _do_ wish HN had a downvote on stories.

</comment></comment><comment><USER7> I don't get it. It looks and works the same in Chrome and IE.

People really don't have better things to do...

</comment><comment><USER8> In Chrome I get comic sans and in IE I get a cursive font. Is that the joke?

</comment><comment><USER9> Check the meta tags.

<comment><USER2> Sorry, I don't understand

<comment><USER10>
        <head>
            <title>I won't troll Internet Explorer anymore..</title>
            <meta charset="utf-8">
            <meta name="description" content="..because it's about time that I stopped.">

<comment><USER5> And?

I still don't get it.</comment></comment></comment></comment>


Anyone interested in teaching arc? - <AUTHOR>

I would like to learn Arc and could use some help and I'm willing to pay for it. I'd like someone that is a really great programmer (I hope to learn from one of the best) to commit to helping me for 3 hours per week. My programing experience is limited to 6 months pasting together a C# asp.net app 10 years ago. My wife and son are also going to be learning, but I'll be the interface for them.
Once I get a handle on the basics I'm thinking that the best way for me to learn is to try to build a contact management app I've been thinking about for a long time. My hope is that within a month or two my tutor can spend most of his time showing me how to improve my code and letting me read code he/she wrote as part of this "class project."
Since I don't have the expertise to know who is an expert and who is not, I'm hoping the folks on this forum will help me with that.
Thanks in advance for any advice (cross posted from arc forum). <comment><USER2> Writing a Lisp is not uncommon. Finishing one is somewhat rare. Building a dialect that people will widely adopt is an extreme edge case: Common Lisp, Scheme, Racket and Clojure are about the only consensus successes after 50 years of Lisp. Yes, there's Chicken and AutoLisp and eLisp that are useful for writing against an API, and I've been vague with "Common Lisp".

Arc has a minimalist aesthetic but it has so few resources that it is hard to discuss it as an ecosystem.

Arc was intended to be a 100 year language. Like Clojure the easy starter kit hasn't been built. Its terseness means expressing yourself requires a grasp of Lisp nuance. Arc is not analogous to Racket's Student Languages. Knowing Lisp already is a good predictor of success. There aren't a lot of Arc libraries. There are no Arc books. Maybe there's more than one tutorial, now. The community is not as vibrant as that of the other Lisps previously mentioned.

About the same time [the very distant past in Internet Years] both Paul Graham and Rich Hickey set about killing conversation at cocktail parties with "I'm writing a dialect of Lisp."

Rich Hickey didn't just write a dialect. He didn't just design it from the ground up with no cobs. He built a language community. Paul Graham wrote Arc and then dedicatedly built a community. It just wasn't a language community. It was the YC program and HN and all the common interest that connects to that.

I would not recommended Clojure as a first Lisp for most people. Emacs knowledge, Java Experience, and some Lisp already, are helpful. There's a lot more assumption of Computer science as well. But I would over Arc because you can use Google with Clijure. You can use IRC. You can use StackOverflow. There are Clojure conferences, Clojure consultants and Clojure meetings. There are even listservs.

Good luck.

</comment><comment><USER3> I've recently gained a sort of morbid fascination with Arc (morbid because of the lack of documentation, libraries, example projects, etc).

With many other languages already under my belt, I feel confident that I can learn it on my own - at this point in my career I have to ask though, why should I?

I'd love to hear a compelling reason to learn Arc, as opposed to my current next target (Rust).

<comment><USER4> As a Lisp, it has macros and treats data as code. Other languages don't.

As an improvement over Lisp, it's succinct. You use fewer tokens, which helps write less code. You couldn't write less code in a different language even if you wanted to. (Try it.) There's no other Lisp that is more succinct.

For web apps, html templates are code in Arc, not files you have to edit and maintain separately. This helps keep all code in one file, and combined with macros helps shrink code. More code fits in your head, which frees you to think of writing programs that would otherwise have been so disturbing to think about, because of how much code or html you would need to write manually that would also be more complicated code, that you wouldn't attempt to write them. Like programs you must autogenerate: programs that write themselves.

Besides writing programs that write new programs, you can also write programs that change existing programs. You can parse programs and automatically transform them. 99% of programmers probably spend their entire lives never attempting this. Although too strong, this is an example of what separates a programmer who is exceptional from one that is merely competent. An advantage of Arc here is that, because it's more succinct than Lisp, it takes less work to transform an Arc program instead of a Lisp program. There's less to deter you from doing it when the opportunity arises and some types of problems can only be solved if you transform programs, especially programs written by others.

A huge advantage of Arc is simulating continuations in web pages with closures, which you end up needing in pages that contain a form. Write the following example in another language and see how many lines of code it takes: [http://paulgraham.com/arcchallenge.html](http://paulgraham.com/arcchallenge.html)

You can work around a lack of libraries. You can call the system function, that calls some other programming language that returns results. But you cannot work around a lack of macros in a language that isn't Lisp without adding macros to the language. Though if you do that, you are basically back to using Lisp.

All roads lead to Lisp and Arc is the most powerful one.

</comment></comment><comment><AUTHOR> To provide a little more context my goal is to be as effective as possible building difficult web apps in 3 years. I'm sure Arc is the wrong choice if I want to be as effective as possible in 6 months. If Arc is only the best choice if I want to be as effective as possible in 5+ years someone save me ;)

Also to sweeten the deal I'd be happy to publish what I learn and give credit to my tutor.

<comment><USER5> I just responded at the arc forum. Email in profile.

</comment></comment><comment><USER6> Do you mind if I ask why you want to learn Arc specifically? In my opinion there are better languages one can learn from the get-go, and in terms of usefulness.

<comment><USER4> Better by what measure? If you accept succinctness is power, Arc is the most powerful language there is. Python's goal seems to contradict wanting to be powerful. [http://paulgraham.com/power.html](http://paulgraham.com/power.html)

And if what you are writing is web apps, you don't know how useful Arc is unless you used it.

Any language looks extremely powerful when you first start to program because programming itself does. You don't have a baseline of comparison at that point. So it's easy to be tricked into using a less powerful language when you are inexperienced.

What's surprising in this thread is inexperience in programming didn't sway jack into picking a less powerful language. It even caused him to feel guilty about this advantage: "secondarily (very minor)". That's impressive already. He's already ahead of those who don't hack in Arc and stay mislead they shouldn't.

<comment><USER6> Sure, I could pick any language and learn it as a first time programmer (essentially). I could learn Haskell as a first time developer too. But should I? Comparing Arc to Python is not only a comparison of syntax and coding style, which by any means is a minute detail in this case seeing as they are both easy to grasp and relatively succinct, but a comparison of resources and community as well. Python for example is the language of choice at many schools and universities for first time programmers. The community is much larger and more developed. There are many more resources for python that I can find and know of than for Arc.

Arc might be a powerful language, but I find little reason to choose it over Python, Java, JavaScript, etc.

</comment></comment></comment><comment><USER7> I have taught Clojure to people. I didn't know there was any demand for Arc in industry. Are there any online resources for learning it?

<comment><AUTHOR> I think it's pretty limited. There is this tutorial: [http://old.ycombinator.com/arc/tut.txt](http://old.ycombinator.com/arc/tut.txt)

I can invest two or three years before I need to be as good or better at building something for the market than I would if I started with something like ROR. And at that point it would be a startup where I can use whatever is fastest.

</comment></comment><comment><USER8> If I could give you some unsolicited advice, I'd say focus on learning how to _program_ , and not on a particular language. Use whichever language will help you to program the best. Once you understand programming, particularly in the functional paradigm, picking up a language like Arc, or Clojure, Python, or Scala is a quick study (ok, maybe not Scala).

If you think Arc will help motivate you to learn to program, and has sufficient resources to teach you, then by all means go for it. Otherwise, there are a lot of similar language that have tons of learning resources. Racket in particular, as well as MIT Scheme, are two languages related to Arc, both with great, open-source books ( _How to Design Programs_ and _SICP_ ) that teach you how to truly program, not just hack up a web site like many programming books do [1, 2]. Really, these are probably two of the greatest programming books, albeit with very different teaching approaches. And like Arc, both of those languages are schemes, or at least very close.

Finally, one additional unsolicited word of advice: don't put off learning data structures and algorithms (particularly their time and space complexity). Both of the two books above will teach you the fundamentals of these topics. I'm a self-taught programmer who put learning these things off for several years, saying to myself, "eh, I don't need them, what do they have to do with _real_ programming?". I confused them with the "interview puzzles" everyone was (rightly) criticizing.

Well, I was wrong, and now that I have a better grasp of the things a good CS education can give you, I'm advancing at a much quicker rate, and I understand programming at a much deeper level. I wish I knew back when I started teaching myself that these were important things to learn. Coursera has some excellent algorithm courses. Khan Academy also has some very good algorithm learning materials [3]. Finally, VisuAlgo is an excellent site for visualizing algorithms [4].

In addition, if you ever decide to become a professional programmer, you'll have to know algorithms and data structures for most interviews.

1\. [http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html](http://www.ccs.neu.edu/home/matthias/HtDP2e/index.html)

2\. [http://mitpress.mit.edu/sicp/full-text/book/book- Z-H-4.html#...](http://mitpress.mit.edu/sicp/full-text/book/book- Z-H-4.html#%_toc_start)

3\. [https://www.khanacademy.org/computing/computer- science/algor...](https://www.khanacademy.org/computing/computer- science/algorithms)

4\. [http://visualgo.net/](http://visualgo.net/)

<comment><AUTHOR> Thanks a lot. I'll definitely check these out. Really appreciate the info.</comment></comment>


Hey everyone any feedback would be helpful with our site - <AUTHOR> http://www.gowevest.com?referral=NJ9eQU8xZ&refSource=copy <comment><USER2> > Most places you just put money without knowing what is going. Wevest is an > open book. Once you start to mirror someone, you are able to see the > investments and companies they choose, and compare them to your portfolio to > the best of your interests.

Read the above aloud. You need some copywriting help. The design of the site was credible enough.

<comment><AUTHOR> I'll get right on that thanks!</comment></comment>


NSA Spying Crushing Some Tech Companies Revenues - <AUTHOR> http://www.nakedcapitalism.com/2013/11/wolf-richter-nsa-spying-crushes-us-tech-companies-in-emerging-markets-an-industry-phenomenon-says-ciscos-chambers.html

<comment><USER2> So here it is. What will US tech companies do about this? What will buyers do to make sure they have not traded one devil for another? Has anyone got the balls to build systems that are secure from state-actor snooping?</comment>


iPhone SDK - the review (now that the NDA is gone) - <AUTHOR> http://www.urbanspoon.com/blog/34/iPhone-SDK-The-Review.html

<comment><USER2> this is great, thanks for sharing. What was the secret to detecting a shake?</comment>


Can an Algorithm Write a Better News Story Than a Human Reporter? - <AUTHOR> http://www.wired.com/gadgetlab/2012/04/can-an-algorithm-write-a-better-news-story-than-a-human-reporter/

<comment><USER2> Its quite impressive, but will they actually be able to write "real" articles, or just convert stock or sports data into paragraphs? Since its possible that data is easier to look at in table form.

<http://zappable.com/2012/04/algorithms-writing-articles/>

</comment><comment><USER3> There was a Stanford EE380 talk ([http://www.stanford.edu/class/ee380/winter- schedule-20112012...](http://www.stanford.edu/class/ee380/winter- schedule-20112012.html)) by Kriss Hammond of Narrative Science which is worth watching.

</comment><comment><USER4> I'm curious if anyone knows of any open source projects that are similar to what they are doing? This is one area I have a lot of interest in but I haven't had all that much exposure to yet..

</comment><comment><USER5> Previous discussion (same company, different article) <http://news.ycombinator.com/item?id=2984021>

</comment><comment><USER6> Well, computers can already create accurate and convincing Daily Mail headlines: <http://www.qwghlm.co.uk/toys/dailymail/>

</comment><comment><USER7> When the headline is a question the answer is no. Works every time :)

<comment><USER8> New Headline:

Is the answer always no when a headline is a question?

</comment></comment><comment><USER9> Algorithms are certainly good at finding patterns in large data-sets, couple this with some talented writing at a high level and you may have a news service of the future.

</comment><comment><USER10> Lately, I've read many tech and science news articles that could have been written better by a brick.

</comment><comment><USER11> The short answer is: No - but they're a heck of a lot cheaper.

</comment><comment><USER12> Go GameChanger!</comment>


Pinterest Raises $150M at 2015 Share Price - <AUTHOR> https://www.bloomberg.com/news/articles/2017-06-06/pinterest-raises-150-million-at-2015-share-price <comment><USER2> I've been a fan of Pinterest for a long time, though I rarely use it these days.

I've been fascinated, and slightly horrified, by their pivot away from social functionality and towards a vision of a neutral bookmarking site.

It's not that I'd want Pinterest to be more social in and as an end itself, but rather because I think it better incentivizes people to create good quality content, and it makes it easier to discover things I want to find.

There's very little ROI for cultivating a public image on Pinterest, so few people put much effort into doing it. At the same time, people who have taste similar to mine are a much better way to find things than any algorithm Pinterest has ever released. And yet, they keep emphasizing algorithmic recommendations while disincentivizing people from publicly expressing their taste and making it harder for me to follow people I like.

And then there are the ads, which, as a bunch of other commenters have pointed out, tend to be really far out of line from anything I've ever expressed interest in. It's just off-putting to see a bunch of low-quality ads for tacky crap in the middle of my feed of minimalist interiors.

Maybe they have something up their sleeves, or maybe I'm very different from their target user. Otherwise I just don't agree with their product direction.

<comment><USER3> If they want to be a bookmarking site that also recommends items, they need a way to unequivocally say, "I'm not interest". I get wood working an fashion recommendations. Then one day at the height of Zootopia they recommended some comics based on the story. Tried to figure out how to say no. Apparently I missed. Now I get Zootopia every 5th recommendation.

<comment><USER4> How much of that is Pinterest trying to surface something incorrectly based on their matching algorithms, vs. the people advertising Zootopia using poorly- chosen or intentionally broad targeting settings?

<comment><USER3> I have no idea. But it's taking a Fury twist and I just don't want that.

<comment><USER5> How do you mean?

<comment><USER3> Sex and abortion.

<comment><USER5> Yes, I always placed Pinterest at the same end of the spectrum as Etsy.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I just started looking at Pinterest as a company to work for. From the outside, the way they treat their employees looks amazing. Things like KnitCon (an internal conference for employees led by employees) reflect well on the company. On the other hand, some of the reviews on Glassdoor are not so kind.

I hope Pinterest can succeed and overcome its current challenges. Even if I do not ever get a job there, what is good for one company lifts everyone else in our industry (unless you are a direct competitor!)

<comment><USER7> Just keep in mind they are a company like any other at the end of the day. They look at bottom line, revenue and how to keep shareholders happy.

HR Managers can outsmart each other day and night on how to make it more funny, bubbly, friendly, etc to you by pulling off more and more crazy ideas to make you feel like we're one big family, but when shareholders decide to cut corners, don't be surprised that your key-card and password doesn't work, and you are greeted by a large-sized man in dark suit you never met before who will gladly escort you and your cartoon box of your office belongings outside. Oh and don't email HR questions like "What happened, I thought we are one big family, so you told me", because for legal reasons you will not get any response at all!

Source: own experience :)

</comment></comment><comment><USER8> I've started to use pintrest a lot lately (finding ideas for some DIY furniture). I actually kind of like the product for discovery. I haven't pinned items from other sites, just saved items from other people's boards.

My biggest qualm is the number of low quality ads. Ton of stuff for diet drinks, teeth whitening, skin cream and the like. And fidget spinners, lots of fidget spinning ads. Perhaps I haven't used the app enough to get more personalized ads, but I do hope the side of the service improves.

<comment><USER9> I've used Pinterest for a couple of years or more to save images of cars, motorcycles and houses and the ads are just as terrible for me. I almost never get on there anymore because of the garbage they are pushing on me. Just not interested and it ruins the entire experience to have to wade through these terrible ads that have nothing to do with how I use the product (or anything else related to my life).

-edit-

The suggested pins for me are just as irrelevant. I spent quite a bit of time marking each irrelevant pin and ad as such, but it didn't seem to help. I finally turned off suggested pins, but ads aren't optional.

<comment><USER10> > I finally turned off suggested pins, but ads aren't optional.

Well, technically you can always install an ad blocker.

<comment><USER9> I've got uBlock origin, but it doesn't block anything on Pinterest. That brings up a good point... on Pinterest it is hard to tell what is and isn't an ad because the only differentiator is the text below that reads "promoted by...". Everything else looks like a normal pin, except usually the content doesn't make any sense with my feed so I think look to see who is posting garbage so I can unfollow them and usually it turns out to be an ad.

</comment></comment></comment></comment><comment><USER11> Pinterest really dropped the ball, they could have been a super profitable social network.

A lot has been written about how people go on Pinterest with shopping intent. It's a way to window shop the entire internet, curated by friends. They never really monetized it much though. Individual influencers made money by leveraging referral programs.

It seems like Pinterest was way ahead of the curve when it came to having image-heavy content and a heavy focus on lifestyle products. But they missed the boat on video and a lot of the influencers moved to Instagram or Facebook.

<comment><USER12> How is a $12 billion valuation dropping the ball. Pinterest appeals to a very lucrative democratic who are looking for stuff to buy, such as clothes, household products, and other stuff, whereas people go to Facebook to see pictures of family or engage in political gossip.

<comment><USER13> For fashion, afaik "influencers" are indeed using platforms like Instagram much more than Pinterest. That is certainly a situation where they could have defended their turf more effectively.

<comment><USER12> but Instagram is more for browsing than buying . people who use pinterest are more in a buying mood

<comment><USER14> I'd tend to disagree. Both are for browsing.

If I see something on Pinterest I'm interested in, then I'll go to Amazon to see if it's offered there, and if not, I'll head over to Google to see if I can get it cheaper. I'm not going to buy directly from Pinterest unless it's a link directly to Amazon.

</comment></comment></comment></comment></comment><comment><USER15> The thing that really puts me off Pinterest is that they require you to log in to see their public pages.

I'm surprised that people would throw another $150M on this particular bonfire. Like so many other bookmarking sites before it, Pinterest is overreaching. Their best outcome (for investors, not users) is likely an acquisition by Facebook.

<comment><USER16> I don't know why they can't carry on doing just what they do now. Keep the servers going, apply security updates, do backups, etc. But why do they need new features?

This constant need to grow really irks me.

<comment><USER17> They could. They should get to $1-$2 billion in sales and print a Facebook- like margin at 30% net income margins by keeping operations as slim as possible. Decent growth, 40 PE with a public listing (for however long this market stays up), $300m in net income on $1.2 billion in sales, $12 billion market cap. That'd be a real, sustainable business.

That's what Twitter should have done as well. Pinterest won't do it, for the same exact reason Twitter didn't, making the same business mistake with predictable consequences. They all want to be the next goliath and none of them are going to be (and when that reality sets in, they all become reactionaries under pressure from a dozen angles, working from a position of weakness).

<comment><USER18> Yes, compare this response to Craigslist. The latter is downright successful, dominating and print money for everyone involved.

</comment></comment></comment></comment><comment><USER17> Twitter is currently trading for $12.7 billion. They did $2.5 billion in sales last year.

Pinterest has a: show me the sales, problem, I suspect. Public comparables in social like Twitter & Snapchat are going to cap their upside until or unless Pinterest can somehow demonstrate a very profitable business model. If those margins never arrive, Pinterest is going to be worth something a lot closer to Yelp than Twitter. From $12 billion, there's a massive downside risk in the last few rounds for Pinterest investors if this gets a similar reality chopping to what Twitter & Snap have.

<comment><USER19> Wait, so Pinterest is about as valuable as Twitter? That makes no sense. Twitter is everywhere - it's how people communicate with the damn President of the United States of America for crying out loud. Twitter and Facebook are really the only big worldwide social networks: everything else is localized, or too small. There's massive value from that alone.

Meanwhile Pinterest... well, maybe they have a lot of interior decorating collections and cupcake ideas, but there's also a ton of spam and most people I know that used it years ago don't use it now.

How are the two even close?

<comment><USER20> Twitter is 11 years old and has never made a profit even though it's been publicly traded for 4 years. It has 330M MAUs but its growth has stalled.

Pinterest is 7 years old, has close to 200M MAUs, and is still growing at a good enough pace for investors to justify this kind of valuation. Pinterest also excels in huge markets which you are probably not familiar with: recipes, weddings, fashion, and interior design.

Even though most people you know don't use it, there are still 200+ million people out there in other demographics that do use it. Probably a lot of them have never heard of Twitter :-D.

FWIW I think Twitter is undervalued as well.

<comment><USER19> I'm actually one of the few percent of Pinterest users that are men, and I have used it for years for exactly those kinds of things: recipes, fashion (to some extent) and interior design. But these days I'm finding that it's much easier to just use the rest of the web. There's so much spam, and noise, repeated crap, and things which make nice pictures that would never work in real life.

What I have no idea about is how Pinterest will make money. Ultimately, Twitter could continue for years without making money, and there are a number of things they can charge for (larger tweets, a Pro service, tweet pipeline, user data, faster access to Tweets) (perhaps sell Trump's tweets to HFT firms, 500ms before the rest of the world sees them?) Meanwhile, Pinterest is full of shitty ads if you turn off your uBlock, and the only other revenue stream I can think of is Amazon affiliate stuff, which has probably dried up now that Amazon turned off that pipe.

<comment><USER21> I have the exact opposite view. Fundamentally, many people look at Pinterest for ideas about stuff they want to buy - that's usually the perfect spot to be if you want to make money on advertising.

If anything, just seems like Pinterest has big execution problems more than business-model problems.

</comment></comment></comment></comment></comment><comment><USER22> "Pinboard acquires Pinterest for $35k"

<comment><USER23> I see parallels in pinboard and craigslist - both not so technologically awesome, but good enough

<comment><USER22> Yes. I think it's a part of a software art to just build a no-bloat functionality and leave it like that for a long time.

</comment></comment></comment><comment><USER24> So is this perceived as a lateral move? Or is this a strong negative indicator.

<comment><USER25> Hard to imagine somoene seeing this as anything but negative. It's like a stock not gaining at all in two years and then suddenly asking someone to buy a whole bunch of it.

<comment><USER26> It's hard to say without seeing the terms, but raising money is not quite like selling a bunch of stock. The money probably comes with a bunch of terms, and if it's effectively a down round the terms are probably incredibly terrible for the company's existing investors.

</comment></comment></comment><comment><USER27> I'm shocked how Pintrest gets away with spamming Google images with dead end links to sign up forms as an on-boarding mechanism.

I search images these days and I click a result only to be thrown into a Pintrest on-boarding flow and unable to get the image I wanted.

Honestly think they should be banned from Image Search results.

</comment><comment><USER28> I was one of their biggest supporters until they set up a registration wall and increased their targeting outside the site.

I thought one of the best use cases was as a wishlist, but that's not gonna work with a registration wall.

</comment><comment><USER5> When aliens deign to view us they will see a society which has recently taken the fetish of (targeted) advertising to new heights, possibly above the actual production of products and services which to advertise.

</comment><comment><USER29> This title made me think they had a down round...

</comment><comment><USER30> Well this is kinda flat round, and it casts a negative outlook on the company.

</comment><comment><USER31> Haven't heard of Pinterest in a lo-ong time. I guess it still exists?

</comment><comment><USER32> Does this new round have the same preferences that the 2015 round had?</comment>


Ask HN: Why does most hiring happen through referrals? - <AUTHOR>

I have seen advised often how good skills are only half the work. To land great opportunities, knowing the right people and having the right connections is equally necessary.<p>Why is it that companies prioritize candidates that have come through referrals? <comment><USER2> The scientific (though old) answer is that 1) referred candidates stay longer 2) referred candidates are better informed and so more likely to succeed at the interviews, which means less time waste for the employer 3) referring employees stay longer for they feel 'responsible' for the referred candidate for some time

(source: [http://en.wikipedia.org/wiki/Mark_Granovetter](http://en.wikipedia.org/wiki/Mark_Granovetter))

Adding the cost aspect, it's clear why companies like referral programs

</comment><comment><USER3> Trust and cost. Referrals even if the company pays $1-5k to the referrer are fair less expensive then paying 15-30% of the first years salary to an agency. And the trust: if the referral is coming from an inside person that has knowledge of the systems etc, they are referring someone that they feel will work well in that environment and that will fit in with the team. Team fit is almost more important than having all the skills day 1 most of the time.

For new grads, this means using your friends and connections (professors etc) from school to help land a job. In the absence of that ability, get out and meet people and show employers you are awesome. For developers, creating a public git repository is an awesome way to let them see your skills.

</comment><comment><USER4> It is almost impossible to assess someone efficiently in a few hours through multiple interviews. So if someone you trust tells you someone is good (or bad) based on a long period of work in common, this is much more representative of how the candidate will work in the long term.

</comment><comment><USER5> People are (mostly) more reluctant to refer unqualified candidates they know personally than unqualified candidates are to apply to jobs. Hence the ones with insider references tend to be more qualified.

Also, judging skill through interviews or whatever is hard at best. Insiders know the people they are referring much better than the company does, even after interviews.

My guesses, anyway.

</comment><comment><USER6> Basic sales premise, people buy from people they know and like. The same is true in recruiting talent. Getting referred into a job opportunity, implies the stamp of social proof and reciprocity.

Recommend reading Influence by Robert Cialdini > [http://www.amazon.com/Robert-B.-Cialdini/e/B000AP9KKG](http://www.amazon.com/Robert-B.-Cialdini/e/B000AP9KKG)

</comment><comment><USER7> It's the evil you know vs taking a chance on the unknown. Plus the short-term thinking that plagues most people.

This is why most companies fail eventually. Hiring and promoting based on relationships instead of skills. You can grow a relationship. But a bad employee will never get any better. Especially if you bump him up to management.

<comment><USER8> Actually I would bet hiring on skill rather than personality, relationship with an employee and culture fit are responsible for more company kills than vice versa.

</comment></comment><comment><USER9> If you have connections, you can land the job before it is advertised publicly; therefore the job won't be advertised publicly.

If you don't have connections, you can't land a job that isn't advertised publicly.

Publicly advertising a job is tedious.

<comment><AUTHOR> That makes sense. Considering the resources required to shortlist candidates and interview them, companies would any day prefer to avoid it. Is there any relevant data, how many such jobs may exist that are not 'advertised'?

<comment><USER9> There is relevant data, but I don't know where it is, sorry.

I am under the impression that this sort of under-the-radar hiring occurs enough to be a significant cause of institutional racism in hiring. (If your existing employees are disproportionately white, and their friends and acquaintances are disproportionately white, then new employees who fill a position before it is publicly advertised will be disproportionately white; and this is without anyone being overtly or consciously racist, and without non-whites being discouraged in any way from applying.)

<comment><USER10> If no one is being racist, then it's not racism.

<comment><USER9> If you're disadvantaged because of your race, then it's racism.

It's important to be clear: the outcome is racist even when no individual is being racist. You can't be reductionist about this, you can't decompose the company into its individual employees and give any of them individually the blame for racist hiring outcomes. It's an emergent phenomenon: it is the company as a whole that is racist and the company as a whole that is at fault.

<comment><USER10> This is politically-correct/Marxist protelariat/bourgeoisie nonsense. The human race is composed of individuals, not "classes" at war with one another.

<comment><USER9> No, this is not about classes.

This is about organisations exhibiting qualities that none of the individuals who make up those organisations exhibit.

<comment><USER10> What qualities? You have said that no one there acts in a racist way. No "person of color" who applies for a job is treated unfairly. Thus no racism occurs.

You can only imagine racism there if you see the races as "classes" (i.e. in the sense of Marxist class warfare) and feel that each _class_ (not the individuals within it) has a right to a "share" of the company (i.e. a quota of jobs -- regardless of whether anyone in a particular class ever actually applied for a job and was treated unfairly). I know this is what the leftist professors in schools of "grievance studies" are peddling, but they have tenure requirements to meet. What's your excuse?

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Candidates referred by employees also tend to be of higher quality because the employee's reputation is somewhat on the line with every person he or she refers to the company.</comment>