The Real Reason there are no Silicon Valleys in Europe - <AUTHOR> http://www.foreignpolicy.com/story/cms.php?story_id=4095&page=0 "In France and Germany, students are being forced to undergo a dangerous indoctrination. Taught that economic principles such as capitalism, free markets, and entrepreneurship are savage, unhealthy, and immoral, these children are raised on a diet of prejudice and bias." ... "Taught that the free market is a dangerous wilderness, twice as many Germans as Americans tell pollsters that you should not start a business if you think it might fail." <comment><USER2> Is this guy supposed to be educated ? I was raised in France and I feel less alienated than the author of this article. He sounds like Moses coming down from his hill with the tables of laws.

United States are the epicenter of the economical world without any doubt, the ultimate place for entrepreneurs for sure, "the place where it happens", but history teaches us at least 3 things :

1/ Portugal was this place before (hello America), Spain was before (gold from America), Holland was before (beginning of world commerce, main Harbor of the world), England was before (industrial revolution), etc.

So today it is the turn of the United States to hold this place, but tommorow it might be China (who knows) and I don't think you'll appreciate what Chinese reporters have to say about your lifestyle (like not living as an ants colony wich is prejudiciable to your economy).

2/ France has never been the epicenter of the economical world in it's history, it has never been the #1 power in the world, never. And with our strategic geographical position in Europe it's pretty ironic. It's not that we didn't try, but the reasons are cultural, and they take their roots far beyond socialism.

3/ You can't have it all. The reasons why France is #1 tourism destination in the world are also the reasons why we weren't the #1 power at any time in our history.

France is undergoing a serious cultural crisis right now, and economy is certainly not our strongest skill, but a lot of our problems come from deliberate choices of lifestyle. You cannot have it all. It should not be so hard to understand that there are different kind of lifestyles that all come with their pro and cons. Especially for a traveled reporter.

<comment><USER3> I think your assertion that "you can't have it all" is telling. We are raised in the US being told that we can indeed have it all, if we work hard enough.

I'm not arguing that this is reality, I'm just saying our attitude is such that anything is achievable. Maybe that makes us naive, but it also makes us much more likely to take a big risk for a big payoff.

I confess I don't know France well enough to add to your views on it's economic attitudes, but I do know the US well enough to say what I just said. I think the point of the article is that since we are not taught to fear capitalism, we are more likely to do stupid things that sometimes actually pay off, and the pay off is generally worth it for society, if not for the individuals that failed en route.

And I think France was the #1 power in the world briefly... the Napoleonic Era. Either way, it has been one of the top powers for quite a while. I, as an American, am still envious of your prowess in Nuclear Energy.

<comment><USER4> > "I think your assertion that "you can't have it all" is telling. We are > raised in the US being told that we can indeed have it all, if we work hard > enough."

But unfortunatly, not everyone can have it all. That attitude may lead to more risk taking, but it will also be a constant source of unhappiness.

60 minutes had a story about Denmark, which is the happiest country in the world. Their secret is to try to get it all, but also know that you might have to settle for less.

[http://www.cbsnews.com/stories/2008/02/14/60minutes/main3833...](http://www.cbsnews.com/stories/2008/02/14/60minutes/main3833797.shtml)

Video is here: <http://60minutes.yahoo.com/segment/140/happiness>

<comment><USER5> >That attitude may lead to more risk taking, but it will also be a constant source of unhappiness.

Not necessarily. It may be a source of unhappiness, but it may just be a calibration effect. Consider the question, "on a scale of 1-10, how happy are you?" I know 1 == sad (not me) and I know 10=="a marijuana forest full of strippers?!?". But what does 5 or 8 mean?

Say I'm the sort of person who might rate myself a 9. But If there is a person, real or hypothetical, who is "happier" than me (1), but not quite a 10. So that leads me to conclude HE must be 9 and I must be 8. But I'm not less happy, I just don't know how to answer a "how happy are you" question.

Similarly, I might want to rate myself a 5, but then I think about how I wasn't eaten by velociraptors, and jack myself up to 7 (my understanding is that something of this nature occurs in Denmark).

(1) His beer comes from further away than my beer and his wife's ass is higher up than my wife's ass.

</comment></comment></comment></comment><comment><USER6> Great article that is politically unpopular. Nice use of textbooks as examples, unemployment rates, labor policies -- you could go on with this theme to any amount of detail required by the naysayers here. Sure it's a commentary, but that's what analysis pieces are supposed to be like. You can question whether the thesis was supported or not -- I found it adequately done for the genre.

But the most interesting part of the piece is the reaction from the commenters here. The things attacked in the article -- nice cushy jobs for life, the view of politics as the marxist battle between the proletariat and the bourgeoisie, the view that political protest is required for job creation -- that's all part of the modern narrative in many colleges. So it's no surprise that such an attack would elicit so many apologists for the Germans and French.

I love the Germans and French, but you don't see very many startups at all coming out of there. I know I would never want to try a startup there nor would I want to take a well-developed company to one of these countries. For those of you who disagree, here's your chance! Go found a great startup in France and let us know how it went for you. BTW, good luck with the local workforce, governmental regulations, and pervasive politics.

<comment><USER7> I disagree and am doing just that in the Czech Republic. The governmental regulations aren't nearly as good as in the States, but the local workforce is much better and cheaper, and the politics doesn't get in the way in any case. I assume the same is true for France.

I'm an American, but I would never return to live there. It's good for business but not for the average person. You don't see essentially any homelessness or crime here and the quality of life is much higher. It's true the next Twitter probably won't come out of Europe, but I think that's a good thing.

</comment></comment><comment><USER8> "In 2004, a bread roll cost 40 cents. For the wheat that went into it, the farmer received less than 2 cents. What do you think about that?"

Am I supposed to be alarmed by this question? It looks to me to be an invitation to an interesting line of thougt. "Where'd the other 38 cents go?" is the obvious next question. Answering it would, I suppose, reveal other players in the production- and supply-chain, and would probably indicate that the farmer received a fair price. It might even lead one to consider other ideas like economies of scale and the role of industrialization in agriculture. And so on.

This article is almost comically biased. Replace a few pejoratives with antonyms and the author's unreasonableness becomes clear: In Texas, they're not "filling students with negative preconceptions and suspicions about businesses and the people who run them." No, they're "filling students with positive preconceptions and faith about businesses and the people who run them."

Are we supposed to prefer the latter?

<comment><USER9> coming from a European school I have seen many questions like this, and unfortunately your reasoning is wrong.

The premise is that the farmer only gets a small percentage of the selling price, and hence is abused by a capitalist global economy.

I have discussions with intelligent people on a regular basis that still hold on strongly to the belief that the little man is being abused by the system.

We're a bunch of commies :-)

</comment></comment><comment><USER10> "Taught that economic principles such as capitalism, free markets, and entrepreneurship are savage, unhealthy, and immoral, these children are raised on a diet of prejudice and bias."

I have to say this in case anyone's got any illusions: this is a different Europe from the one I live in. I mean, the French go on about how the "Anglo- Saxon" work ethic is polluting their culture, and in the UK people will wish you luck if you start a business, while secretly hoping you'll fail. I'm sure other countries have their problems too, but overall Europe is a good place to live, work and do business.

We don't "do" Silicon Valley because it's not how things are done here. Whether or not they should be is the subject of another, far more interesting essay than the one in the title.

<comment><USER11> I'm a little confused by your comment. Does the Europe you know embrace insane work ethic, high risk investments, low job security, and admire those who prefer to start their own companies, or not? Without those, the culture is creating a bad environment for startups.

<comment><USER12> I can't speak for m0nty but I'd agree that I don't recognise the Europe of the FP article.

I'm in Ireland, historically a very left leaning state until drastic measures were taken in the 1980s leading to our recent growth and prosperity. We've a culture of what's called 'begrudgery' - speaking ill of people who succeed - though in truth it doesn't seem to have held us back.

As to the things you describe I doubt they're of the same caliber. Someone starting a business here will often look to government grants and other funds for bootstrap cash. Does that create a bad environment though? In some ways yes, Govt may not be quick to hand over money and may not have the understanding a lot of venture capitalists do, but overall I don't think so: I know quite a few small business owners and technology startups, it certainly doesn't seem excessively detrimental. I've no experience of that scene in the US though.

In Ireland at least, I think we develop polar love/hate relationships with those that succeed, either lauding or slandering them. Micheal O'Leary of Ryanair is a good example.

I come from a family of business owners and starters and know many others. I've also worked on EU-wide research projects (telecoms related; and see little of the resentment the article implies is prevalent). As such my experience is obviously rather selective.

</comment></comment></comment><comment><USER13> Probably the most obviously bad attempt at passing "free market" propaganda as some kind of "study" I've read recently, so biased to the point of being infantile.

It has "reddit" politics section material written all over it. Mind-shattering bad in almost any conceivably way, from the premises to the treatment of "evidences".

<comment><USER11> In that case, lets ignore whatever problems you find in the article and discuss its basic message.

I lived in parts of Europe (though not Germany or France) for a while and found the contrast between there and the US to match the general theme of this article. These biases against the American attitude towards work seemed deeply ingrained into the culture.

</comment></comment><comment><AUTHOR> A lot of the comments here seem to think you can dismiss an article by detecting its bias. You need to actually refute an argument with facts to to dismiss it right?

<comment><USER14> I will try. I live in the Netherlands. The schools here don't teach us that capitalism is bad. It is true however that they teach us that capitalism does not solve all problems and that capitalism completely without government control can go wrong (e.g. monopolies, Microsoft). They teach us that capitalism is good _if everyone gets the same opportunities_. So this means that all children should be able to get good education, even if your parents cannot pay for it. It also means that if you are handicapped and you cannot get a job then the government will give you enough money for food and a place to live. They also teach us that communism is good in theory but cannot work in practice (i.e. will lead to totalitarian regimes) (compare with "SCARY! FEAR! ANGST!"). To me this sounds like a balanced view.

I don't know about France (note to the author: Europe is not one country and not eveyone has the same opinions), but similar quotes could be obtained from dutch books:

> Peter says:

> [insert quote here]

> Exercise 5: Do you agree with Peter? Why or why not?

<comment><USER15> I agree. Europe is not one country and it's pretty irksome when it is referred to like it is.

I can understand why it is though and for the same reasons it's sometimes easy to think of Africa as being one big homogeneous entity, which of course it isn't.

Of course even individual countries contain huge disparities especially in their adherence to the capitalist ideal. Take the UK for instance. It has the largest financial hub in the world, London. The UK also probably has the largest monument to socialism outside of a communist country, the National Health Service.

So trying to label a single country's political/economic stance with a single label is likely to fail and more to the point trying to summarize an entire continent's stance is worse than ridiculous.

</comment></comment></comment><comment><USER16> >Millions of children are being raised on prejudice and disinformation. Educated in schools that teach a skewed ideology, they are exposed to a dogma that runs counter to core beliefs shared by many other Western countries.

Doesn't this statement apply equally well to American schools, from a European point of view?

It would be possible to write an interesting, informative article contrasting the values taught in Europe and the US without being so inflammatory. And I expect it would be more constructive. Scorn is cheap and easy.

<comment><USER17> I am not a US citizen. Can you briefly explain what this skewed ideology and dogma is? There's a touch of scorn in your own comment. I rather like inflammatory articles provided there's some beef to the point being made. I'll leave that assessment to French or German readers.

<comment><USER18> I'm not sure, but I think WenomousVit is referring to the American Dream, the idea that everyone could become rich and successful if they just work hard (thereby implying that those who aren't rich/successful should blame theirselves). Another thing is that American children are indoctrinated with patriotism and nationalism, which - maybe surprisingly to Americans - are two rather dirty words in other countries - at least in Holland, where I live. Then there's a more implicit message in "One Nation Under God" (the national motto) that faith/religion (especially Christian) is the norm and all else is Unamerican.

But again, I don't live there, so it's hard to judge for me as well.

</comment></comment></comment><comment><USER19> It would be hard to imagine an article with a first sentence like that turning out to be good.

<comment><USER9> There's a lot of truth to it nonetheless.

</comment></comment><comment><USER20> This article is at least as biased as the textbooks are claimed to be.

<comment><USER21> It's a clumsy polemic -- but doesn't the author make an evidence-based case?

The polls show greater public suspicion of markets and business in France and Germany. (Is anyone surprised?) Levels of entrepreneurial participation are lower in those countries than in the US. And, the schools and textbooks promote economic beliefs that ensure continued suspicion of markets and businesses, and lower entrepreneurial participation, in the future.

(US schools don't promote the same attitudes -- at least not until college. :)

Ignoring the author's opinion about which way is better, he's identified a real contrast in culture and education which helps explain differences in economic activity.

France and Germany are fine places, but would you expect to migrate there to start or join a young high-growth, high-tech business? How about compared to California, Texas, or most other states?

</comment></comment><comment><AUTHOR> "Taught that the free market is a dangerous wilderness, twice as many Germans as Americans tell pollsters that you should not start a business if you think it might fail."

</comment><comment><USER22> Oh ! and we are taught to eat children too !

</comment><comment><USER23> I think it's fair to ask why there aren't any silicon valleys in Europe. But you should also ask why there aren't any other silicon valleys in the United States.

A better study would be to take silicon valley out of the picture, and then compare the "best of the rest". How does the start up scene in Copenhagen compare with Seattle? Berlin and Austin? Boston and Oxford?

I have a feeling US based cities would compare favorably, but not as dramatically, and perhaps at a higher social cost.

<comment><USER24> "But you should also ask why there aren't any other silicon valleys in the United States."

But there are. Route 128 for example.

</comment></comment><comment><USER25> "In 2004 a bread roll cost 40 cents. For wheat that went into it the farmer received less than 2 cents. What do you think of that?"

I think that the bread makers should be fairly compensated for turning raw material, like grain, into edible prodcuts. If the farmers want more of the cut they should band together and form a co-op to negotiate contracts for better compensation.

</comment><comment><USER26> I can't say much about Germany and France, but in The Netherlands there is a rich and highly active entrepreneurship culture. At Delft University of Technology, where I study, high-tech start-ups are increasingly being founded and are supported by the University's incubator.

In fact, just today I attended a lecture by Dr. Bert Twaalfhoven. He is one of Europe's premier entrepreneurs and is well known for having founded over 50 high-tech companies.

I think that, especially in current times, entrepreneurship is becoming a global phenomenon. In places like Delft, among others in Europe, there is fertile breeding ground for high-tech start-ups.

<comment><USER26> I've written about the key take-aways from Dr. Twaalfhoven's lecture in my blog...

[http://ocastaneda.weblog.tudelft.nl/2008/03/05/the_indivers_...](http://ocastaneda.weblog.tudelft.nl/2008/03/05/the_indivers_phenomenon)

</comment></comment><comment><USER27> Counterpoint> George Bush is your president. Twice.

<comment><USER23> Yeah, but take a look at an election map and note the color of the voting district around startup centers. PG wrote about this in an essay (I forget which one)

Don't look at the country or even the state. Remember, competition takes place between cities. National or state policy can help or hinder, but it's really about the city.

Silicon Valley, San Francisco, Boston, Austin, Seattle. Lots of startup activity. See a pattern here?

</comment></comment><comment><USER28> Europe has the DSP valley. Sure, it's not half as sexy as "web 2.0"...

</comment><comment><USER29> that's not even a real title

</comment><comment><USER30> Berlin is a hotbed of entrepreneurialism and creativity. Movie making, web 2.0 stuff, they have it all. It's a fun, cheap party. Smart people are moving there, and successful people stay. Prenzlauerberg has the highest fertility rate not ony for germany, but all of continental europe.

Germany'll be doing fine long after foreignpolicy.com's idiot anglo american backers slide into a quagmire of expensive energy, stupid land use, collapsing national currency, and corrupt warmongering.

<comment><AUTHOR> I wouldn't call 11.7% unemployment doing fine: <http://www.heritage.org/index/country.cfm?id=Germany>

<comment><USER31> Why not? The unemployed are on generous welfare. If all employees are equal, that means that Germany is running on 88.3% productivity, vs 95% in the U.S. Not a big difference.

But since the people who tend to be unemployed are generally much less productive than people with jobs, the actual difference in productivity is much smaller.

Really, Germany is doing just fine. Which is not to say that they couldn't be doing even better.

<comment><AUTHOR> They might be on generous welfare, but it's not free - it comes from other German people's taxes including poor Germans. Plus you tend to be poor on welfare even in Germany. Why is it okay to have 11.7% of the population be impoverished and idle? While the UK, Australia and the US have 5% or less unemployment?

<comment><USER32> do you really believe that germany has a higher percentage of impoverished people than the us?i would think the lowest american salaries are lower than german welfare

<comment><USER33> Should be easy to figure out, but a quick google was unable to turn up an average welfare recipients' salary.

In the us, 5.85 * 40 * 52 = $12,168 annually. Figure 30% taxes, and you're at $8517 annually.

Who has better knowledge and/or google-fu to dig up what an average german welfare recipient makes per year?

(Also, most states have a higher minimum wage than 5.85: <http://www.dol.gov/esa/minwage/america.htm> . Also, the Euro/US exchange rate doesn't really express living costs. Perhaps we should measure salary in terms of milk or bread for a more fair comparison?)

<comment><USER30> salary is only the supply side of the equation. what about cost of living?

germans living in the city don't need a car. they have health care. even if they are unemployed layabouts, their kids have a chance for a subsidized education, and they don't have to balance the opportunity cost against a crapload of debt.

<comment><USER33> Americans living in the city don't need a car. They have health care (Check it: <http://www.ncdhhs.gov/dma/basicmedelig.pdf> if you make <$12000 per year, you're in Medicaid on top of Medicare. Furthermore emergency medicine is always free.) Their kids have a chance for a subsidized education (public school is always free, many colleges offer ridiculous amounts of aid as well as work opportunities to students from very poor families. I know mine was very good with this.)

(Not that I'm saying our medicare/medicaid/emergency system isn't somewhat broken. For example, many people who qualify have not filled out the necessary paperwork to join. The problem with lack of medical coverage, though, is much less with the indigent than it is with those just over the poverty line.)

<comment><USER30> You're right in a way, at least regarding education.

If you're very poor, but smart, america probably offers more opportunities than most euro places. Elite Unis heavily subsidize in this case.

The more common case though, is somewhat poor (single mom, 3 siblings, $40,000 a year), and somewhat smart but not national merit level. Many people in this situation seem to wind up getting aid packages with low interest, but huge principal, managing to get their degree but graduating with a lot of debt. This may be changing with even the shift to free tuition by some elite unis, but haven't seen really big changes yet.

In your last sentence, you seem to make the same point, only for med care rather than education.

So perhaps we agree that the american system is harshest on people who are poor but not "poverty level."

That is a bad way to be though. Because what happens when you are poverety level, and work your ass off to get up to the "just poor" level? You lose all that subsidy! And back to poverty level, for many.

<comment><USER33> Agreed, but the comment I was responding to was talking about the lowest American salary vs. German welfare; not about people making just above the lowest American salary.</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment>


TLDR pages - <AUTHOR> http://tldr-pages.github.io/ <comment><USER2> That project is a symptom of manual pages not having good "EXAMPLES" sections. The examples on that web page should be contributed upstream to the manuals pages of the software that they are for.

If you want a fast way to _read_ the EXAMPLES section _only_ for a command, here is a shell function which creates an 'eg' command which only displays the "EXAMPLES" section of manual pages:

      eg(){
          MAN_KEEP_FORMATTING=1 man "$@" 2>/dev/null \
              | sed --quiet --expression='/^E\(\x08.\)X\(\x08.\)\?A\(\x08.\)\?M\(\x08.\)\?P\(\x08.\)\?L\(\x08.\)\?E/{:a;p;n;/^[^ ]/q;ba}' \
              | ${MANPAGER:-${PAGER:-pager -s}}
      }

Usage:

      $ eg tar
      EXAMPLES
           Create archive.tar from files foo and bar.
                 tar -cf archive.tar foo bar
           List all files in archive.tar verbosely.
                 tar -tvf archive.tar
           Extract all files from archive.tar.
                 tar -xf archive.tar
      $

(Previously: [https://news.ycombinator.com/item?id=10025216](https://news.ycombinator.com/item?id=10025216), [https://news.ycombinator.com/item?id=7123328](https://news.ycombinator.com/item?id=7123328))

<comment><USER3> I don't mean to sound cynical, but if oft-used man pages haven't already added "EXAMPLES" sections over the last 30 years, how likely is it that they'd add them now? This project exists because man has failed to as useful as it needs to be for current users. I don't think that adding this info to the "EXAMPLES" sections will help anything, personally.

<comment><USER2> That's like saying "We haven't needed 'TLDR pages' for the last 30 years, why do we need them now?". Times change.

<comment><USER4> The fact that something hasn't been done doesn't mean there isn't a need for it.

</comment></comment></comment></comment><comment><USER5> I do find TLDR useful, but is there anything preventing adding it as a standard section of the actual manpages we all use?

Perhaps with a switch (man --tldr) or something?

Wouldn't a project to add those short examples to manpages be good?

<comment><USER6> You can add a section 0 to man pages for example (tldr) versions. Man also already supports rendering HTML if that is the preferred format that contributors want to write.

With a handful of commands i've got the tldr pages rendering in man:

        mkdir /usr/local/share/man/man0/
        pandoc -f markdown_github -t html https://raw.githubusercontent.com/tldr-pages/tldr/master/pages/common/tar.md > /usr/local/share/man/man0/tar.0.html
        export MANPAGER="`which lynx` -stdin"
        man 0 tar

tada.

We really shouldn't be rewriting tools and fragmenting community effort to fit a new feature that is already 90% implemented.

edit: one idea I do like is having content that is easy to contribute to, such as man pages, in separate repositories. Contributing to open source projects for content writers can often be intimidating - having a pure text separate man page repo that all the distro's use would be great.

<comment><USER7> Generally agree that augmenting existing man pages is then way to go. However, using a new number to categorize "use cases" or "examples" is probably incorrect.

man page categories (1, 2, 3, etc.) are organized by type of command. See: [http://www.schweikhardt.net/man_page_howto.html#q2](http://www.schweikhardt.net/man_page_howto.html#q2)

Reviewing the convention for man pages, it seems like adding an EXAMPLES section to existing man pages is the correct way to augment the documentation.

Definitely support your position that improving existing documentation is the way to go. Just wanted to share my research on how man pages are supposed to work.

<comment><USER6> Thanks, I remembered it being extensible. Turns out that section is a char in the man code so it could easily be a new section or a switch to extract the examples.

I might do some work on this - import the examples from tldr and bro and get them into the man pages, and hopefully find a way so that man pages are easier to contribute to.

</comment></comment></comment></comment><comment><USER8> Maybe instead of creating something entirely new we could improve the existing thing, that is prepend man pages with some examples?

<comment><USER9> There have been discussions in the past about "standardizing" on an _Examples_ section. It is usually what I miss the most in any manual.

<comment><USER10> The man maintainers, at least from my own dealings with them, often don't like contributors. "Examples are nice, and I like your changes, but what if Paul Vixie doesn't?" It's easier to fork man completely and take it away from them, Xorg style.

</comment></comment></comment><comment><USER11> I find it rather redundant to bropages: [http://bropages.org/](http://bropages.org/)

Still, a readable manpage alternative is always welcome!

</comment><comment><USER12> Instead of installing one of the clients, it might be easier to just put this line into your bash.rc:

        function tldr { curl https://raw.githubusercontent.com/tldr-pages/tldr/master/pages/common/$1.md; }

<comment><USER13> Internet access is not a given at all times. One is often more likely to need manuals when there is a problem with it.

<comment><USER14> Well to be fair, you can just use the man pages if you don't have network access. Or you could git clone the repo and print it from the repo. I think his point is that this is a problem that is easy to overengineer and really doesn't need that much work to be done.

</comment></comment></comment><comment><USER15> Also see bropages! [http://bropages.org/](http://bropages.org/)

Very interesting tools. I still don't know how to navigate man pages to find what I need.

<comment><USER16> Yep, also have used them for a while and even though they're lacking content still, the concept I'd say is rather better than tldr-pages. Contributing is easier and documentation is specifically focused on examples, not trying to replace the original documentation, which should be improved separately, if needed.

</comment></comment><comment><USER17> To everyone suggesting people send patches in to the original repos instead of using this, or anything like it:

Have you ever tried hunting down the canonical source repo for any of those ancient commands? It's nigh-impossible for many (most?). Seriously, give it a try for one of the small ones that haven't been touched in a few years.

<comment><USER18> If if you do good luck getting your patch merged, wait a year for the next release, and then sit back and wait a few years (if ever) for the versions to trickle into real distributions

Just look at the timeline of the last 4 releases of Tar:

Tar 1.28 - 27 Jul 2014

Tar 1.27.1 - 17 Nov 2013

Tar 1.27 - 20 Oct 2013

Tar 1.26 - 12 Mar 2011

</comment></comment><comment><USER19> One thing I love about Perl, which has seemed sorely lacking in many other languages, is the habit of documenting all modules with a "Synopsis" section, which is essentially short examples of use. A good 50% of modules I use I don't need to read further!

</comment><comment><USER20> As a side note, `dtrx` is a sane alternative to `tar` that do the right thing by default. [http://brettcsmith.org/2007/dtrx/](http://brettcsmith.org/2007/dtrx/)

Just `dtrx yourarchive.tar.xz`.

<comment><USER21> I honestly don't understand the meme of "tar is so hard to use". You only need to know like five parameters (xcvfz) for 99% of use cases, and they're pretty easy to understand.

<comment><USER22> From the manual:

"In UNIX or short-option style, each option letter is prefixed with a single dash, as in other command line utilities. If an option takes argument, the argument follows it, either as a separate command line word, or immediately following the option. However, if the option takes an optional argument, the argument must follow the option letter without any intervening whitespace, as in -g/tmp/snar.db. Any number of options not taking arguments can be clustered together after a single dash, e.g. -vkp. Options that take arguments (whether mandatory or optional), can appear at the end of such a cluster, e.g. -vkpf a.tar."

When you have several alternative optional syntaxes for the commands, and you mix them with several different mandatory syntaxes for the parameters, the result is way more complex than merely "know five simple parameters for 99% use cases".

The following are all valid ways to do _exactly the same thing_ :

tar cfv a.tar /etc

tar -cvf a.tar /etc

tar -c -v -f a.tar /etc

tar --create --file a.tar --verbose /etc

tar --cre --file=a.tar --verb /etc

This offers lots of flexibility, but also means that it will be hard to remember the exact syntax, and that examples that you come by on the net will all look wildly different, making it hard to learn the commands and create a habit by exposure to examples.

</comment></comment></comment><comment><USER23> I think man pages aren't always verbose or unreadable. In fact, most of the time, they are pretty easy on eyes for me.

But generally, it is not a "tl;dr" that I am looking for in man pages, it is _that one thing_ I need not very often, but can't remember, like "what switch does `git pull` take to rebase" (ok, not very good of an example, but since these are things I "can't remember", I can't pull one out of my head right now). And for these cases, `less`, my default pager, has excellent searching capabilities.

For instance, I needed to check how to tell OpenVPN CLI client to take username and password from a file instead of stdin. I knew I had done it before, but didn't know which flag it was... just the third instance of "username" on the openvpn manpage called it out (--auth-user-pass). Such things, are IMO, more often needed, but not something a tl;dr would cover.

Great project anyways :)

</comment><comment><USER24> reminds me of [http://bropages.org/](http://bropages.org/)

</comment><comment><USER25> Man pages are really already TLDR pages. They suck for introductory documentation (most times) but are really useful if you just can't quite remember the switch or its parameters.

I don't know what niche this is supposed to fill?

<comment><USER26> This.

[https://xkcd.com/1168/](https://xkcd.com/1168/)

<comment><USER27> Tar options are actually very easy once you take the time to understand them. Want to create an archive? use `-c`. Want to extract? It's `-x`. From that you know you can use `tar -cf foo.tar foo` (`-f` lets you pass the archive name) and `tar -xf foo.tar`. Want to be verbose? Add `-v`. Want to use gzip compression? Add `-z`. There are a bunch of other options to do more, but just with that you can already understand 99% of what tar is used for.

<comment><USER5> > _Tar options are actually very easy once you take the time to understand > them._

That's not the experience of many people. Or maybe, "taking the time to understand them" is not how they want to spend their time, and the mnemonics are bad because the use is not that frequent anyway.

<comment><USER21> But the time we're talking about to understand this is less than 5 minutes.

Those same people spend more time joking about how complex the options are and linking that xkcd anyways.

<comment><USER5> Let me rephrase. There's nothing much to "understand". This is not a logical puzzle or a physics lecture.

It's an arbitrary set of command line flags and argument order.

So what's meant by "understanding" it, is basically "memorize".

Sure, if one devoted some time, they could memorize it. Like people can learn the PI to the nth digit.

But first, it's not just tar they use -- it's tens of other commands too.

Second, a lot of them have clashing flag order or slightly different names for the same arguments.

Third, most don't use them that frequently to make it worth it to sit and memorize it. Besides the infrequence of use means that simple memorizing once wont work, as they'll forget them without sitting down again later to refresh their memory. We can memorize complex vim commands because we use them everyday. Commands that we need once a month or once every 3 months, not so much.

It would be better for all if tar just did the obvious and intuitive thing.

<comment><USER28> > It would be better for all if tar just did the obvious and intuitive thing.

And what is that obvious and intuitive thing?

Are you complaining about the need for a "-f" flag? If so, I'll agree, tar could take files the same way cat does. Tar's showing its age here, and would get a better interface without it.

But all the other flags are there for a reason, are the obvious mnemonic choices, and are the same ones used on other similar commands.

</comment></comment></comment></comment></comment></comment></comment><comment><USER27> The issue I have with this kind of projects is that people quickly accept that reading manpages is boring and that they should only use `tldr gcc` or a quick stackoverflow lookup instead of actually learning how to use their tools. It's like learning how to fish vs. bying fish at the supermarket. Sure, if you know how to fish you can still buy at the supermarket if you're lazy. But if you don't you're stuck with what's at the supermarket.

<comment><USER5> > _It's like learning how to fish vs. bying fish at the supermarket. Sure, if > you know how to fish you can still buy at the supermarket if you're lazy. > But if you don't you're stuck with what's at the supermarket_

If you're already down to the command line, running UNIX commands, and using TLDR you are way beyond "buying fish at the supermarket".

And why should you "learning how to use those tools", when what you really want from those tools are the use cases TLDR already covers?

<comment><USER29> Agreed 100 times over.

My eyeballs are strained from rolling every time I read some _very sage_ person on SO or HN reply to a well-phrased question or comment with a terse "it's all in the docs".

As if 90% of use cases aren't covered by 5 examples. As if we all have unlimited time to spend on reading docs and manpages and "learning how to use the tools". As if there is some intrinsic virtue to "learning how to use the tools". As if the very purpose of sites like SO are something other than distilling the information in docs into some other, more readable form. As if there are no man pages or docs that are absolutely incomprehensible and worth ignoring.

No, sorry, this attitude is just another manifestation of standard tech machismo: "real men do it the hard way". Good luck with that!

<comment><USER27> I'm not saying you shouldn't use TLDR or StackOverflow. I'm just saying you _could_ benefit from reading the manpage once instead of TLDR 10 times a day. That doesn't mean you won't forget most of the stuff and will use TLDR/SO to find it again but at least you'll be more comfortable using the tool.

In the `tar` case if you know what c, x, v, z and f stand for you can cover 99% of the tar use cases because those can be combined. You learn 5 letters and have now access to 8 different commands (`{c,x}[v][z]f`). Learn one more letter, `t`, and you can combine it with your existing knowledge to have 3 more commands (tf, tvf, tzvf).

<comment><USER30> Great. Then put those options near the top. Why are options on man pages organized alphabetically? What common use case drives that decision?

<comment><USER27> Well, in a dictionary words are not listed at the beginning. The alphabet itself doesn't have the most common letters at the beginning. What we should do is put the manpage examples at the beginning instead of the end.

</comment></comment></comment></comment></comment></comment><comment><USER7> What if we put community energy into contributing improvements to existing man pages for open source projects?

As many commenters have noted, it is possible to accomplish the goals of TLDR by improving existing man pages, without establishing a separate documentation system. A man page can be formatted to include any number of sections. All that is needed is an EXAMPLES section that lists examples for typical command usage.

Here are instructions for creating a man page: [http://www.schweikhardt.net/man_page_howto.html#q3](http://www.schweikhardt.net/man_page_howto.html#q3)

Side note... isn't the usage of TL;DR in this project incorrect? TL;DR is a synonym for "abstract", "synopsis", and "executive summary". It is already confusing enough to use TL;DR in place of those words without overloading the term to mean "tasks", "example usage", or "typical use cases".

<comment><USER31> Projects like this happen because it's easier to contribute here than to the existing manpages. As someone who came of age in a Github world, there's (perceived) friction preventing me from trying to contribute to a lot of tools from the old guard. Let's say I want to add some examples to the tar man page:

* How do I create a man page? (you answered this one)

* Where is the vcs repo for tar? (I think it's this one git.savannah.gnu.org/tar.git)

* I cloned the repo, but I don't see a contributing guide. Looks like I need to create an account and submit a patch online?

* Do I need to let the mailing list know about it? How do code reviews work?

None of these steps are dealbreakers, but together it all adds up to more unknowns I need to figure out before I can contribute. If existing projects make their contributing process smoother then I think we'll see more of this effort go directly to them.

<comment><USER7> The friction you feel likely is more than just perceived. Perseverance can often break past it and sometimes a disruptive spinoff proves to be required.

I work at a company where the typical employee is 20-30 years older than I am. It is often a struggle to get people to adapt to change, the key is to persevere. As an example, I just finished participating in a 4-year effort to get my organization to adopt Git!

Often, projects like TLDR are necessary as proofs of concept to help the old guard understand the value of an idea or initiative. Even something as simple as this discussion existing might help people see an unmet need or expectation exists. And sometimes, when the old guard fails to respond, it is worth spinning those projects off with a group who sees the "new way" as clearly as breathing oxygen and replacing the old way of doing things completely.

Your list of bullets is a good one. To be honest with you, I've only contributed to open source docs a small number of times, submitting merge requests to Canonical. So, I will give updating a man page a try and see if I can figure it out.

</comment></comment></comment><comment><USER32> These should be appended to the top of regular man pages.

<comment><USER33>
        function man {
            cat <(tldr $1) <(/usr/bin/man $1) | less
        }

</comment></comment><comment><USER34> How does this deal with different versions of a utility having different flags/commands?

<comment><USER35> By only supporting the Mac OS X version, apparently, because neither my Debian, Fedora nor Arch have this `brew` tool mentioned on the home page.

</comment></comment><comment><USER36> Cool idea - but like others allude, it would be useful if the TRDR content was organized _along with_ the man page content.

Even better: it'd be nice if there was a repository of _just content_ that was structured in some standardized way. Then, some MVC-like system could easily consume _all of_ the content.

</comment><comment><USER37> What about [https://github.com/chrisallenlane/cheat](https://github.com/chrisallenlane/cheat) ?

<comment><USER38> Didn't know about that one, thanks for the link! I've added it to the discussion at [https://github.com/tldr- pages/tldr/issues/266](https://github.com/tldr-pages/tldr/issues/266)

</comment></comment><comment><USER39> Yes! Thank you, all I want is an example of how to use the command. Man pages never help me, they give a bunch of non-concrete examples. I always just Google for the command and someone's blog post helps me out.

</comment><comment><USER40> love the simplicity put in this little tool. Incredibly easy to remember, gives the answer you need 95% of the times, makes it very easy to contribute with new stuff.

</comment><comment><USER41> TL;DR a collection of TL;DRs for common *nix commands with clients to display the shorter docs

</comment><comment><USER42> most useful thing ever. All you need in 90% of the time. Hope to see it in Redhat soon :)

</comment><comment><USER43> Seems like most tools basically provide this with a -h or --help switch.

</comment><comment><USER44> Brilliant idea!

Now, did I misunderstand or does this need npm?

<comment><USER45> As far as I see there are different clients available as options. You don't necessarily need npm but I don't know in what shape the clients are. For example the go client seems broken to me (hard coded wrong tldr-page url, no caching, platform is always set to common) [https://github.com/pranavraja/tldr](https://github.com/pranavraja/tldr) I like the idea. Maybe I will create a better Go client.

</comment></comment><comment><USER46> there's also a ruby gem called bropages!(gem install bropages)

example usage:

bro man

even allows user submission/voting on answers

</comment><comment><USER47> looks just like bro pages

bropages.org

</comment><comment><USER48> Seems like a good idea, man pages can be almost comically obtuse at times.

<comment> jay-saint I feel like the examples tldr entries should be required to be written by a third party other than the creator of the software. In my experience the creator of a piece of software or machine always thinks it is simple and writes the man page accordingly.

</comment></comment><comment><USER49> If there was anything the frozen computer interface of the 70s needed to complete itself, it was silly Internet neologisms. Thanks, author, for bringing the worst of several eras together.</comment>


How to draw oscilloscope lines with WebGL - <AUTHOR> http://m1el.github.io/woscope-how/index.html <comment><USER2> Drawing lines in WebGL is pretty hard. Here's my Schrödinger wavefunction visualizer ([http://ridiculousfish.com/wavefiz/](http://ridiculousfish.com/wavefiz/)) where I learned too much about it.

Note these lines are in actual 3d space: you can rotate the scene using the circle control towards the bottom.

WebGL supports lines natively, but Windows Chrome ignores the thickness ([https://bugs.chromium.org/p/chromium/issues/detail?id=60124](https://bugs.chromium.org/p/chromium/issues/detail?id=60124)) so I had to find a different approach on Chrome.

The approach I used is per Matt Deslauriers ([https://mattdesl.svbtle.com/drawing-lines-is- hard](https://mattdesl.svbtle.com/drawing-lines-is-hard)) . The essential idea is to construct a zero-width line, then use a vertex shader to push each vertex along the line's normal in screen space (not model space). Now represent each vertex twice, and push each one in opposite directions, and you get a nice width.

A fragment shader is used to soften the edges.

Here's my vertex shader, which is the meat of the drawing: [https://github.com/ridiculousfish/wavefiz/blob/master/ts/pol...](https://github.com/ridiculousfish/wavefiz/blob/master/ts/polyline.ts#L306)

</comment><comment><USER3> "it might be weird to store the same point 4 times in a buffer, but I could not find a better way"

Couldn't you use a geometry shader to convert points into triangles (or quads)?

<comment><USER4> I thought the same thing, but a quick search [0] seems to indicate that geometry shaders aren't available in WebGL.

[0] [https://stackoverflow.com/questions/8641119/webgl- geometry-s...](https://stackoverflow.com/questions/8641119/webgl-geometry- shader-equivalent)

</comment></comment><comment><USER5> I am a flash guy. I used to do BitmapData fun (wonderfl) which was offly related to "processing". How can I enter webgl?

Webgl and "shadertoy" is why I am in computing, I am not here for Angular but this is how I make money.

My fascination is pointless processing of pixels and without it I feel bored.

I need to learn webgl but there seems no definite guide.

<comment><USER5> Like in particular real time data. This idea of "uploading data" is classified as slow. I'm not interested in preloading. I want a mouse to churn 1k pixels. This "upload to gpu" seems a major bottleneck. Where's 1000000 particles cannot be interactively controlled

</comment></comment><comment><USER6> I find this post intriguing not just for the actual effect, but as yet another little signal of the slow and steady mixing of serious-ish mathematics (though mostly applied maths) into engineering culture; which there was almost no trace of only a few years ago.

<comment><USER7> I disagree- maths has always been an essential tool of all engineering disciplines. Software engineering is not an exception (algorithms, control systems, graphics, simulations).

Of course, a lot of people can and do write useful software knowing little to no maths, but then again, I suppose one can build a working bridge based on gut feeling as well.

<comment><USER8> The difference is that one can do software _engineering_ without much "explicit" math and without resorting to gut feeling (though admittedly much is written on gut feeling too).

By "explicit" I mean that e.g. a lot of things I work on for example certainly will use principles that you could write out formally using various mathematical disciplines, but I may or may not have been aware of the underlying maths when writing it, but that does not mean I'm not approaching it in a systematic way.

In a lot of CS papers, even, the use of maths often turns out to be _less_ formal than code, in that I often see maths used to handwave away details you can't get away with not presenting if writing it out as code.

</comment></comment></comment><comment><USER9> Works really well even on my old-ish smartphone (2014). WebGL is really interesting, too bad I still have yet to find the time to get a grasp of it. But blog posts like this are very inspiring!

</comment><comment><USER10> This song is fucking incredible and unique... OMG

</comment><comment><USER11> If you port this shader for rendering to texture, you can make quite nice rail-gun trails.

</comment><comment><USER12> I don't understand why'd you do it this way. I would draw a full screen quad and evaluate if a pixel should be lit or not in screen space in a frag/pixel shader.

<comment><USER13> The cost of doing this would be enormous - program shader for _each_ pixel would have to calculate this function for _every_ line segment. Instead, only triangles that cover the segment are evaluated.

<comment><USER12> no... it really depends on the function being evaluated and frag shaders operate in warps. Furthermore, on certain CPUs, vertex shading is emulated on the CPU which is _worse_ than a fragment shader.

<comment><USER14> I found an existing example of a similar algorithm to the OP's using a fragment shader: [https://www.shadertoy.com/view/ldSfWV](https://www.shadertoy.com/view/ldSfWV)

Notice that the default settings in the shader are 300 audio samples (lines) per frame, which is skipping 80% of the audio samples.

You are right that it does depend on the function being evaluated. The function in this article is a set of ~22k arbitrary lines (~44k audio samples) per second, so the fragment shader has to calculate the distance to every line at every pixel.

At 30fps, that's around 750 point-to-line distance calculations per pixel. So turn up the ShaderToy example to 750 iterations, and see how fast it goes. (#define NBITERATIONS 750 in Buf A) I tried that, and my GPU goes down to 10fps in the small window (~600x400) and about 1fps at full screen. And this shader is using a much cheaper intensity function than @m1el used.

So, while it is possible to do this in a fragment shader at interactive speeds (especially if you skip samples), it is more expensive than drawing lines. Keep in mind that a full screen quad also has a greater fill rate than drawing thin lines.

If there were a way to reduce the number of lines you have to check, then you might be right that a fragment shader would be faster. But in this particular case, there's no obvious way to quickly skip checking some of the lines, so drawing lines directly with quads is a lot faster than using a shader, even if vertex shading is CPU bound.

</comment></comment></comment></comment><comment><USER15> With bloom turned on, it looks really good.

<comment><USER16> Yeah the bloom should be on by default. Otherwise I don't think it captures the look they're going for.

</comment></comment><comment><USER17> (2015)</comment>


Ask HN: How do you keep up with *developments* in front end web development? - <AUTHOR> So not learning new technologies, but just being aware of new ideas, approaches, early releases, progress on standards, etc.
At the moment, I just sort of browse HN/Reddit and look at books being published.
How do you stay informed? <comment><USER2> You don't.

Really a good majority of the stuff that is released at any given moment is pretty worthless.

Fixing something that doesn't need to be fixed, begging you to move to something for the sole reason that its new without a valid reason, etc etc etc.

You don't have to keep up at any given moment. Things that are actually worth paying attention to will filter through eventually.

<comment><USER3> This.

Unless you are unable to do something and need a new technology to solve a problem, but then, probably be best to stick with things that have a track record of just working.

If it looks cool do some side R&D with it, but until you see expected results I'd take any new technology with a grain of salt - especially if it's proprietary.

</comment></comment><comment><USER4> I read [http://webplatformdaily.org/](http://webplatformdaily.org/) daily, and I subscribe to a few newsletters (PonyFoo, HTML5 weekly, JS Weekly). I read the changelogs for new versions of browsers. And, occasionally, I browse all the pages linked from chrome://chrome-urls. I've learnt about all sorts of old-but-new-to-me browser technologies doing that.

</comment><comment><USER5> For a while I subscribed to the [http://html5weekly.com/](http://html5weekly.com/) and [http://javascriptweekly.com/](http://javascriptweekly.com/) newsletter. They publish several more and I still enjoy the nodejs one.</comment>


Twitter to look at your conversation to identify the trolling instincts - <AUTHOR> http://www.afaqs.com/news/story/52963_Twitter-to-look-at-your-conversation-to-identify-the-trolling-instincts <comment><USER2> very useful</comment>


Computer expert hacked into plane and made it fly sideways, according to FBI - <AUTHOR> http://www.independent.co.uk/news/world/americas/computer-expert-hacks-into-plane-and-makes-it-fly-sideways-according-to-fbi-10256145.html

<comment><USER2> It is unfortunate that this is going to just result in a criminal filing against him.

While it was irresponsible, no one was hurt and reporting these vulnerabilities in the "appropriate" manner would likely result in the company trying to cover up the vulnerability citing some sort of DRM / trade secrets reasoning.

For this reason I am glad that he did this.

</comment><comment><USER3> There are other sources of the same story - here are some.

This one has significant discussion: [https://news.ycombinator.com/item?id=9558615](https://news.ycombinator.com/item?id=9558615)

        Hacker told F.B.I. he made plane fly sideways
        (aptn.ca)

This one also has some discussion: [https://news.ycombinator.com/item?id=9554841](https://news.ycombinator.com/item?id=9554841)

        Feds Say That Banned Researcher Commandeered a Plane
        (wired.com)

Other submissions, there may be more:

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

        Researcher may have adjusted airplane controls from in-flight entertainment-FBI
        (theverge.com)

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

        Security researcher claimed to hack, control plane in flight
        (engadget.com)

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

        Hacker 'made plane climb' after taking control through in-flight system
        (telegraph.co.uk)

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

        Security researcher hacks plane mid-flight
        (arstechnica.com)

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

        FBI: researcher hacked plane in-flight, causing it to "climb"
        (securityaffairs.co)

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

        Hacker told FBI he made plane fly sideways after cracking entertainment system
        (aptn.ca)

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

        Researcher hacks flight system of plane, making it climb
        (dailymail.co.uk)</comment>


Recursive Make Considered Harmful - <AUTHOR> http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.20.2572&rep=rep1&type=pdf

<comment><USER2> Love that paper, though the better-approach section was not as pragmatically explained as the problem's section.

I'll raise a glass to him as soon as I'm having a drink with fellow hackers somewhere.

</comment><comment><AUTHOR> Rediscovered via [https://www.debian.org/News/2014/20141020](https://www.debian.org/News/2014/20141020) .</comment>


Why Kodak Died and Fujifilm Thrived: A Tale of Two Film Companies - <AUTHOR> http://petapixel.com/2018/10/19/why-kodak-died-and-fujifilm-thrived-a-tale-of-two-film-companies/ <comment><USER2> I think Kodak merely picked the wrong pivot. They thought they were a photography company, but they were actually a chemical company. There is plenty of demand for chemicals these days, and if they had stuck with that, they'd be doing fine. (I think these days they brand themselves as an "imaging" company, and they sell products like document capture systems. But that really makes them a software company, and I doubt they're doing great there. Document capture will probably be taken over by phones; Google is already playing with that and I'm guessing they have better software development teams than Kodak.)

Fuji was in a similar place, of course, but they were already making high-end cameras and they were selling well. I use a GW690ii from 1985 regularly and it has one of the best lenses I've ever used. They did not forget how to manufacture those over the intervening 30 years, and there is plenty of market for lenses. (Though I would still worry. Tiny cell phone cameras are becoming better and better every year, and that's really a function of the sensors, which they buy from Sony.)

Ironically, Fuji did kind of screw over the film photography community recently. They stopped making 4x5 Velvia 50. They stopped making Acros 100. Now everyone is using Kodak or Ilford film. But it's because they could afford to, getting someone to buy a new digital camera every couple years is way more profitable than making chemicals for a super niche industry. Kodak still doesn't understand that, but they do get some of my money as a result ;)

<comment><USER3> Speaking as someone who had a second-row seat to Kodak's failure to meet the future, it was absolutely a case of stuck-in-the-past. The brass in Rochester just couldn't, wouldn't believe that the light at the end of the tunnel was a train, and they hobbled their own entries into that market at every turn.

<comment><USER4> I read somewhere, and sorry I don't remember the source, that Kodak knew the digital future was coming, but they didn't believe the speed with which it arrived. Kodak was one of the first companies with digital cameras.

<comment><USER3> They were addicted to fat film profits and couldn't read an exponential curve.

<comment><USER5> Kodak was larger than the entire digital camera industry currently is, by almost 3x, $31 billion[1] in 1993 dollars which is 31 billion in 54 billion in 2018 dollars[2].

The entire digital camera industry was worth about 18 billion in 2017[3]

Even if they captured 100% of the market (which would have been basically completely impossible), it would have been a massive disaster for them as a company, and to the hundreds of thousands of people they employed in photo processing.

[1] [https://www.photosecrets.com/the-rise-and-fall-of- kodak](https://www.photosecrets.com/the-rise-and-fall-of-kodak)

[2] [http://www.in2013dollars.com/1993-dollars- in-2018?amount=310...](http://www.in2013dollars.com/1993-dollars- in-2018?amount=31000000000)

[3] [https://www.researchandmarkets.com/reports/4514578/digital-c...](https://www.researchandmarkets.com/reports/4514578/digital- camera-market-global-industry-trends)

<comment><USER6> Does that 18 billion include the smartphone industry? I think phones are the real successor of the mass-market element of Kodak's business.

<comment><USER7> Pivoting from making film and cameras to making cellphones would have been like McDonalds pivoting into becoming a laptop manufacturer.

Yes, cellphones contain a camera, but the similarities end there.

<comment><USER8> You're talking from an industrial perspective and the parent is talking from a user perspective. You're both right.

Smartphones replaced compact cameras for a huge portion of casual photographers but as you point out it's not like camera makers could easily pivot into making smartphones (some of them probably could have if they had anticipated the trend enough, but by the time the iphone came out it was probably already too late to catch up).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> Fujifilm got billions of dollars in secret money from the Japanese government, and hide billions more on the books. This is Japanese culture, they would not let such an important company die. On the other hand, sure Kodak died, but the Americans now have Apple and Google - while Japan doesn't.

<comment><USER10> Isn't that like the air carriers in the US?

<comment><USER9> Yes...and Samsung...the 2008 bailout of many American car companies...Trump using 'national security' in the trade war with Canada...Germany and VW...(nobody plays fair).

Read about the Olympus scandal for how another film company hung around. [https://en.wikipedia.org/wiki/Olympus_scandal](https://en.wikipedia.org/wiki/Olympus_scandal)

</comment></comment></comment><comment><USER11> In the early 90's, when we were all using film cameras, everyone I knew, at least those who were pro or serious amateur/prosumers, used the legendary Fujifilm's Fujichrome Velvia 50 film. It became an instant hit because of its sharpness (fine grain) and color saturation that made us say "wow". It's hard to imagine what that's like, but think of it as having higher megapixels and better dynamics and great color. We used it especially for portrait/fashion and wildlife/nature. When it came out, a lot of us stopped using the classic Kodachrome/Ektachrome.

<comment><USER12> That's one view. I honestly never understood the attraction of Velvia 50. I know it was beloved of people who were better photographers than I.But I'd use Kodachrome 25 (which had a similar effective film speed) any day.The greens and blues of Velvia always seemed fake.

In any case, both of those were niche films for pros and a few prosumers.

<comment><USER13> Velvia makes people look far too red in the face.

<comment><USER14> You should use Provia for portraits, not Velvia. Velvia, as you note, has a strong magenta cast.

</comment></comment></comment></comment><comment><USER15> Well... When film was not a retro thing, I always preferred to use Fuji film over Kodak - the results were just better, with Fuji capturing the lighting the way I intended it to. It's not only that Fuji picked the pivot to digital and Kodak didn't, but it felt they were always committed to solve my problem rather than to milk me for money. Kodak was too comfortable.

<comment><USER16> I'm the same for colour, I used Velvia for slides and the Fuji 400 for prints. I preferred the way Fujiy looked.

B+W was either Kodak or Ilford from what I remember though.

</comment></comment><comment><USER17> > Retrospectively, Mr. Shih, the former VP of Kodak thinks that the company > "could have tried to compete on capabilities rather than on the markets it > was in" like Fujifilm did but "this would have meant walking away from a > great consumer franchise. That's not the logic that managers learn at > business schools, and it would have been a hard pill for Kodak leaders to > swallow."

It's a classic case study best told in the book, "Who moved my cheese?" Walking away from the consumer business would have been an abrupt about-face and forced a massive shift within the sales and marketing teams... they very people responsible for maintaining the Kodak brand.

</comment><comment><USER18> My first digital camera was a Fuji.

It was reviewed to have better colour than pretty much any other digital camera at the time.

</comment><comment><USER19> A problem that's alluded to in the article is that Kodak didn't focus on the high end of digital cameras nor in the sensors and components. So even as an imaging company they didn't understand that focusing on the low margin mass market they would be doomed eventually when cheaper mass market product would come out.

<comment><USER20> Kodak did have high end sensors. They just never developed them for mass market applications. Much of the satellite imagery on Google maps is via Kodak hardware.

</comment></comment><comment><USER12> Good in-depth and balanced piece. (Although it does gloss over a little some of the struggled Fujifilm had during the transition from film.)

</comment><comment><USER21> Anyone have an inside scoop on where to buy cheap recently expired film online?

<comment><USER22> Why buy expired when you can buy it fresh? Kodak just reintroduced Ektachrome after discontinuing it in 2013!

<comment><USER23> for artistic effect i guess</comment></comment></comment>


Bash has local variables - <AUTHOR> http://tldp.org/LDP/abs/html/localvar.html <comment><AUTHOR> By default all variables are global, and had not realised that you can specify "local" to make variables inside a function, local.</comment>


Your Network is a Living Organism - <AUTHOR> http://www.delightedrobot.com/179/your-network-is-a-living-organism/

<comment><USER2> Indeed it is, good one!</comment>


Popular "Diet" Ingredient Now Linked to Leukemia and Lymphoma in Landmark Study - <AUTHOR> http://www.realfarmacy.com/diet-leukemia/ <comment><USER2> The conclusions in the linked abstract of the human-based study on PubMed aren't that clear:

 _" CONCLUSION: Although our findings preserve the possibility of a detrimental effect of a constituent of diet soda, such as aspartame, on select cancers, the inconsistent sex effects and occurrence of an apparent cancer risk in individuals who consume regular soda do not permit the ruling out of chance as an explanation."_

[https://www.ncbi.nlm.nih.gov/pubmed/23097267](https://www.ncbi.nlm.nih.gov/pubmed/23097267)

</comment><comment><USER3> aspartame's carcinogenic properties have been known for something like 20 years(I remember my dad showing me a study in my teens) but it's good to see more data is being added to the pile

<comment><AUTHOR> I agree... I remember an episode from "Get Smart" (60s TV show) where they make an joke on the dangers of "artificial sweeteners".

(If I had the money, I would just buy fruit, stevia extract, Zevia, and occasionally eat "real sugar" products... just to be on the safe side.)

<comment><USER4> I tried to use Stevia rather often, but it just tastes horrible in most things.

2 years ago I cut down on sugar and since then I'm drinking diet soda and use artificial sweeteners in my coffee and tea. :(

<comment><AUTHOR> Have you had any problems with your tooth enamel since drinking diet sodas?

Have you tried NOW Foods Better Stevia (in packets)? I liked the flavor in my flavored teas (hot or cold). Only the cost adds up. It does contain rice maltodextrin though.</comment></comment></comment></comment>


Show HN: C# Color Space Converter - <AUTHOR> https://github.com/smchughinfo/csharpcolorspaceconverter <comment><USER2> In the past I used to build this stuff in silicon .... just a quick note it's quite common in the real world to get incoming values that are out of gamut (the results of compressing and decompressing data for example) - you need to pin your final values to 0-255 in the cases where they are < 0 or > 255 otherwise they tend to wrap, you also need to carry that extra bit of precision through your math (not such an issue with FP) to make sure you can detect this

<comment> Const-me It's doable without extra precision. SSE2 have some instructions operating on saturated integers, i.e. numbers stick to min/max instead of wrapping.

<comment><USER2> internally the hardware that's doing this for you has to carry that extra precision (in a carry bit usually) in order to do this - it may not be architecturally visible but it has to be there

<comment> Const-me > it has to be there

No it doesn't. For example, for single bit of precision, saturated addition is bitwise or, saturated subtraction is bitwise andnot. Obviously, the electronic doing these bitwise operations do not use any extra bits. Similarly, for higher count of bits, the electronic doing the math may or may not have that extra precision.

</comment></comment></comment></comment><comment><AUTHOR> This is mostly a port of the code on [https://www.easyrgb.com/en/math.php](https://www.easyrgb.com/en/math.php) but I have added a few extras.

What I use it for is:

* RGB - easy to guess what values to use to make a color

* HSL - easy to change the hue of a color

* Lab - lets you compare colors

* Named color - lets you know the name of a color

<comment><USER3> Nope: it's LAB that lets you change the color, without affecting luminance. HSL makes it easy to change a meaningless parameter that is _called_ "hue". Changes in H that keep SL constant affect the perceived lightness of the color.

<comment><AUTHOR> Thanks for clarifying that. Much respect to anyone that understands this stuff.

</comment></comment></comment><comment><USER4> The builtin System.Drawing.Color namespace already contains much of what you have in regards to colors to and from names.

There are a lot of helpful methods available.

Color foo = Color.FromArgb(int); int foo = Color.ToArgb(); Color foo = Color.FromName("CornflowerBlue");

Color itself also exposes .IsKnownColor and .IsNamedColor

<comment><AUTHOR> That only works if it's the exact color. If you're one bit off it won't know.

</comment></comment><comment><USER5> Lab has the cool effect that you can smoothly change the luminance of a particular color in steps (usually scale is 0-100), where each step has an equal perception of change to the user.

Very useful when making gradients.

I used this for my MSc thesis project :)

</comment><comment><USER6> For more advanced needs there is Colourful .NET [1].

[1] [https://github.com/tompazourek/Colourful](https://github.com/tompazourek/Colourful)

<comment><AUTHOR> Oh dang, I wish I had seen that, lol. It doesn't look like theirs does named colors though *clings to relevance. Thanks for posting that.

<comment><USER6> It also misses HSV and HSL. And a ton of other things if you aim for completeness. Not long ago I was tempted to write my own library but stepped away from it after a few days of research into colorimetry and realizing how deep that rabbit hole is.

<comment><USER3> The focus here seems to be on perceptually relevant representations, plus RGB (hardware-relevant).

HSV is just a rearrangement of RGB for improved color picking dialog boxes, not for any serious computation with color.

<comment><USER6> I just mentioned them because they are in the ops library but not Colourful .NET, not because they are especially important. In the end all color spaces and color representations are just means to represent electromagnetic spectra, most of the time only a subset and most of the time lumping together different spectra into equivalence classes. And they all have their uses, they all make certain things easy and other things hard.</comment></comment></comment></comment></comment>


I'll Take 2 MasterCards and a Visa, Please - <AUTHOR> http://krebsonsecurity.com/2010/09/ill-take-2-mastercards-and-a-visa-please When you're shopping for stolen credit and debit cards online, there are so many choices these days. <comment><USER2> Dup: <http://news.ycombinator.com/item?id=1715793>

That earlier submission has a bunch a crap in the URL that the sumbitter didn't bother removing, hence the duplicate-detector didn't work.</comment>


Ask HN: Why is giving a secure crypto solution to the masses a good thing? - <AUTHOR>

An argument against it that I have heard often is that doing so allows the bad guys to use it and hide their activities. Granted, the hardcore ones can probably do so on their own but what about the ones who aren't so skilled or intelligent enough and who would in normal cases be caught but now can't because of the benefits of good security ? For example, imagine all email was encrypted by default, wouldn't this make it harder to catch the guy who had incriminating mails, who would have been caught ordinarily but now can't be because (luckily for him) all his mails are encrypted ? <comment><USER2> Life is about trade-offs. In theory, the benefit of security for the masses outweighs the cost of confidentiality provided to criminals. There are also other ways of potentially getting the criminals' e-mails you need other than snooping (e.g., Google can disclose your e-mail to law enforcement) or getting the intelligence on criminals beyond e-mail altogether.

</comment><comment><USER3> To maintain the rights guaranteed to everybody in Common Law

[http://vinay.howtolivewiki.com/blog/other/taking-a-crack- at-...](http://vinay.howtolivewiki.com/blog/other/taking-a-crack-at-a- practical-system-introducing-the-escrownym-3004)

has a detailed analysis of why it's necessary and how to implement a subset of those rights.

</comment><comment><USER4> You could make the same argument against the masses being allowed to drive. The benefits outweigh the drawbacks.

<comment><USER5> You really need to list the benefits if you're going to make a statement like that. The benefits of people driving are clear to me but the benefits of mass- encryption are not. (hence what the OP is asking)

</comment></comment><comment><USER6> "Bad guys" can just as easily abuse an insecure world.</comment>


The Top Types of Douchebags in Tech and How Not to Be One - <AUTHOR> http://www.jasonnazar.com/2011/04/07/the-top-10-types-of-douchebags-in-tech-and-how-not-to-be-one/ <comment><USER2> As someone that focuses on the business/marketing side of things I think this is an interesting concept:

"Have a conversation a day with a techie for 30 straight days. You'll realize they're smarter than you, more passionate about what they do, more engaged in their work and solve more interesting problems."

</comment><comment><USER3> Good read, you could probably make a dedicated one just for developers.</comment>


Xv6 - <AUTHOR> https://en.wikipedia.org/wiki/Xv6 <comment><USER2> A few months ago I went through xv6 on my own as an experiment in getting better at systems programming. I wrote a bunch of posts about it, in case people are interested:

Grokking xv6: [http://experiments.oskarth.com/unix00/](http://experiments.oskarth.com/unix00/)

What is a shell and how does it work?: [http://experiments.oskarth.com/unix01/](http://experiments.oskarth.com/unix01/)

What's on the stack?: [http://experiments.oskarth.com/unix02/](http://experiments.oskarth.com/unix02/) (video of tracing a system call from user space to kernel space and back: [https://www.youtube.com/watch?v=TWksEdn5eoA](https://www.youtube.com/watch?v=TWksEdn5eoA))

Page tables and virtual memory: [http://experiments.oskarth.com/unix03/](http://experiments.oskarth.com/unix03/)

Locks and concurrency: [http://experiments.oskarth.com/unix04/](http://experiments.oskarth.com/unix04/)

A short overview of the file system: [http://experiments.oskarth.com/unix05/](http://experiments.oskarth.com/unix05/)

Grok LOC? [http://experiments.oskarth.com/unix06/](http://experiments.oskarth.com/unix06/)

It was a very educational experience for me, and I highly recommend the journey for other people.

<comment><USER3> Thank you for this. I know what I'm reading for the next two months!

In your original post, you mention one of the goals being able to contribute a patch to a modern OS such as BSD or Linux. After your experiment, do you feel like this is the case?

<comment><USER2> Glad it was useful and motivating! This one I feel a bit bad about, because I wanted to write a patch and test that hypothesis, but I didn't (yet) make the time for it.

I _feel_ like I could after maybe ~30h (really I don't have enough information to determine beyond it probably being between 10 and 100 hours) of focused effort. I did read a bunch of _The Design and Implementation of FreeBSD_ and I felt like I could understand it reasonably well, using the mental models I picked up studying xv6.

The reasons why I didn't do it (yet) are interesting in themselves. There was nothing in particular that I felt was missing from FreeBSD, and I hadn't used the "advanced" parts of the OS enough to run into any bugs. Because of this I think I lacked a sense of ownership, and the artificiality of a bug hunting activity caught up to me, motivation-wise. To do this I think you need to be motivated to dive into the nitty-gritty of a particular part of the OS, in addition to having a good understanding of the OS as a whole. Instead I ended up exploring some of the more advanced parts of FreeBSD (Jails and ZFS) with [http://experiments.oskarth.com/netpowder/](http://experiments.oskarth.com/netpowder/) \- hopefully I will find something useful that I want to either extend or a bug I want to fix, or perhaps I get to test the hypothesis with something completely different (such as Mirage OS).

</comment></comment></comment><comment><USER4> I'm a student at Johns Hopkins, and we're using xv6 in our OS course this semester: [http://gaming.jhu.edu/~phf/2015/fall/cs318/](http://gaming.jhu.edu/~phf/2015/fall/cs318/)

xv6 is pretty awesome for learning, and lecture is generally spent reading through the source code, some of which is...cute.

Most of us have the source code printed out. If you're interested in reading the source, this document is well-formated: [https://pdos.csail.mit.edu/6.828/2014/xv6/xv6-rev8.pdf](https://pdos.csail.mit.edu/6.828/2014/xv6/xv6-rev8.pdf) (and can actually be generated by the Makefile!)

<comment><USER5> So the ls and make and all those tools; where do they come from? Are they straight compiles using GNU gcc tools etc?

I only ask because I have no idea how much is the kernel compared to everything else; and if it has its own custom compiler or whatever.

<comment><USER6> No, they are minimal versions written for the OS. Here is ls[0] and cat[1]. You can compile with GCC.

[0] [http://www.ccs.neu.edu/course/cs3650/unix- xv6/HTML/S/64.html](http://www.ccs.neu.edu/course/cs3650/unix- xv6/HTML/S/64.html) [1] [http://www.ccs.neu.edu/course/cs3650/unix- xv6/HTML/S/42.html](http://www.ccs.neu.edu/course/cs3650/unix- xv6/HTML/S/42.html)

<comment><USER7> I wonder if a suitably minimalist C compiler (along the lines of C4[1] or C4x86[2], although perhaps a bit more featured) and/or assembler to go along with it would be a neat idea too - now you can have a complete self- bootstrapping OS which one person can easily understand.

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

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

</comment></comment></comment></comment><comment><USER8> Source available on GitHub: [https://github.com/mit- pdos/xv6-public](https://github.com/mit-pdos/xv6-public)

Unless I'm missing something, the entire codebase is just 102 files (including README and such), no subdirectories, and 12,000 lines.

What a fantastic tool.

<comment><USER9> Any project with a TRICKS file is bound to be good.

</comment></comment><comment><USER10> xv6 is an amazing teaching OS - it is very simple to dive into and play around with. A while ago I wanted to explore some filesystem/permissions stuff and use xv6 to play with some concepts (see [http://sarahjamielewis.com/posts/file-system-permissions- and...](http://sarahjamielewis.com/posts/file-system-permissions-and-xv6.html) \- still lots I want to play around with there when I find some time) - If you are at all interested in OS dev it is a great gateway.

<comment><USER11> I'm interested, but where would you suggest to start?

<comment><USER12> I just skimmed the PDF and it's really a good undergraduate text. I learned off the classic Tanenbaum stuff which is probably still good as a supplementary text, though it might be suffering the Dragon Book Syndrome at this point.

The Linux kernel itself is really well documented. Between the docs you can pull, KernelNewbies.org, the IRC channel, and the O'Reilly text "Understanding the Linux Kernel, 3rd ed", you can get up to speed re: conventions and develop a pretty good top-down view.

Then use strace/ltrace excessively on everything to get a bottom-up view. Strace is a great skill to have in general to help identify bugs in live code by attaching to the PID. Way more granular than a standard GDB attach. It's got a learning curve about on par with reading pre-C++11 template error msgs, but after a few months you'll start to recognize patterns, just as in tmpl error msgs, to the point where you can just skim the last few hundred lines strace piped to stdout and you'll know what sort of bug to deal with.

I haven't played with FreeBSD in nearly a decade but I do remember their documentation was second to none, including the IBM Red Books. So if you want to see another approach to a POSIX implementation (obviously Tanenbaum talks about MINIX which is semi-POSIX, so yeah, read that supplementary text), going through the Handbook from an end-user perspective then the mailing lists + source will give you a real interesting view as to why certain engineering decisions were made. I.e., why ipfw was replaced, the gradual progression of standard file systems from UFS all the way up to modern day ZFS, etc. The list offers a rare view behind the curtain exploring engineering decisions that end-users aren't often privy to, and the caliber of conversation is ridiculously high

</comment></comment></comment><comment><USER13> Some time ago, when i discovered xv6, I started playing with it and I ended up: \- Refactoring the build system \- Lots of clean of the code \- Adding a real distinction between distribution and kernel \- A clean libc \- Tons of other stuff

You can find it here: [https://github.com/NewbiZ/xv6](https://github.com/NewbiZ/xv6)

Considering the original build system, I think having a look at this just for the sake of the cleaner makefiles is worth it.

There is also a mailing list for xv6, to share its understanding: [http://www.freelists.org/list/xv6](http://www.freelists.org/list/xv6)

<comment><USER14> What did upstream think of it?

</comment></comment><comment><USER15> There's also OS161, which is Harvard's version of this. It comes with a very simple MIPS emulator, on top of which the actual operating system is built. It's a lot of fun!

<comment><USER16> The University of Toronto used to use OS161 as well. The OS161 code contains lots comments, but xv6's textbook [1] covers things in more detail which is sometimes useful.

[1] [https://pdos.csail.mit.edu/6.828/2014/xv6/book- rev8.pdf](https://pdos.csail.mit.edu/6.828/2014/xv6/book-rev8.pdf)

</comment></comment><comment><USER17> I took 828 and really enjoyed it. It was one of the best classes I took at MIT. The other OS for that class is JOS, which is the one you build through the labs. It's similarly simple to understand and not that long to build.

<comment><USER18> > I took 828 and really enjoyed it. It was one of the best classes I took at > MIT. The other OS for that class is JOS, which is the one you build through > the labs. It's similarly simple to understand and not that long to build.

I'm not sure what I'm supposed to take away from your comment aside from "I went to MIT".

<comment><USER19> that the course was really enjoyable. why is that not nice to know?

edit: here's an analogy - say the article was about a famous restaurant, and someone chimed in to say "i ate there when i was visiting hong kong, and it was one of the best meals i've ever had". now we already know that it's a good restaurant; that's what the article was all about after all. nevertheless, i like that sort of comment; it adds a human touch to the story because (rightly or wrongly) i perceive a fellow commenter as less remote than a newspaper food writer, and therefore their opinion has a certain anecdotal quality to it that the article lacks.

</comment></comment></comment><comment><USER20> So, is this a minix competitor?

</comment><comment><USER21> Best thing about this is that it runs in Bochs.

As useful as it is, especially outside of i386, QEMU has grown to be a massive program with many dependencies that requires GB of RAM/swap during compilation.

</comment><comment><USER22> Is there a coursea or other MOOC that uses Xv6?

<comment><USER23> [https://pdos.csail.mit.edu/6.828/2014/schedule.html](https://pdos.csail.mit.edu/6.828/2014/schedule.html) The mit website pretty much has all the information open, which you can use to go through this course at your own pace. The lectures(most if not all) are on youtube, search for 6.824

</comment></comment><comment><USER24> Where are the unit tests ? where are the valgrind tests ?

</comment><comment><USER25> If it's only for education purposes, why C? Wouldn't you want to choose a more "clear" language to get the ideas across?

<comment><USER26> Because C is the de-facto standard for writing operating systems.

If you want to write an oh-cool blog piece for general programmer audiences about how OSes work, sure, go ahead and write it in Python (seen that done, and pretty well, in fact).

But if you want to prepare people to be able to work on real operating systems, they need to know how to do it in C.

<comment><USER25> I think an OS class isn't meant to prepare you for working on the operating system. The vast majority of people that take an OS class aren't going to work on OSs, but they _should_ appreciate how everything works. Using a language optimized for communicating "how everything works" clearly should be a priority!

<comment><USER27> Yes, and that language is C. C is a very simple language, and it's very clear. If you're writing anything that interfaces directly with the OS, you'll need to know C.</comment></comment></comment></comment>


A Conversation with Arthur Whitney - <AUTHOR> http://queue.acm.org/detail.cfm?id=1531242 <comment><AUTHOR> The article doesn't mention any free/open-source versions of Whitney's work, but I do know of one, A+. It was extended from A, which does get a mention.

<http://www.aplusdev.org/>

On another note, has anyone here played with the latest and greatest, Q?

<comment><USER2> I work with it daily. Very impressive stuff generally, but the domain is highly specific. Some of the guys who work with it are _really_ smart. Soup to nuts sort of knowledge.

<comment><USER3> Hi, do you have a blog or would you be willing to post something about your experience with Q and KDB+? I worked in the financial industry for awhile and we were pulling some data from KDB+ systems. I thought about digging deeper into Q and KDB+, but other side projects kept me from really diving in.

Maybe I'll revisit it now that they offer a free trial version.

<comment><USER2> Don't really have a blog that I update.

I do have a Github account where I've been developing some projects in Q: <http://github.com/DannoHung/qspec> and <http://github.com/DannoHung/qutil>

I'm willing to answer questions if you have any.

</comment></comment></comment></comment><comment><USER4> It's mostly a discussion about his variants of APL. I don't understand the reasoning behind starting from scratch every time writes a new language but he does make some interesting observations about common lisp. Interesting, worth reading.</comment>