There's No Escaping Competition: People Need a Way to Decide Who Gets What - <AUTHOR> http://fee.org/freeman/there-s-no-escaping-competition <comment><USER3> This article reminds me of theologians who use argument from ignorance to justify their own beliefs in one true god (basically an attempt to impose some absolute moral framework on society).

OK, there is always competition, no problem here. But there are nonetheless many other systems than market decision-making, and there is no clear winner from the moral point of view. Just one example can be democratic voting about economic allocation. I would love to see him show that this is not socially optimal, without showing the same about the market system. (To simplify things, we can consider market system to be one where you can accumulate votes.)

In fact, we don't even know if "socially optimal" solution exists or is unique!

Also, a minor point. It's been shown that price signals work only in the environment with perfect information and rational actors, but then the price is superfluous! This well-known counterargument is not addressed at all.

Someone put it nicely here on HN, once economics stopped calling itself _political economics_ , it became much more ideological.

P.S. Downvoters, please, leave a comment. I will happily have a discussion with you.

<comment><USER4> Not one of the downvoters, but a voting scheme seems totally unrealistic to me. Just think about the sheer number of economic decisions occurring every day. Going to store A instead of store B. Picking brand A over brand B. Walking two kilometers instead of calling a taxi. Picking your holiday destination. Researching suppliers for components for a new product. Cancelling a no longer profitable product. Doing market research. Changing the price of a product. And the list goes on forever.

How could you ever faithfully reconcile all those decisions into a manageable number of votes? If you stranded with five people on a remote island you could probably pull this off, but in any realistic setting this seems totally out of reach to me.

I am totally not happy with capitalism as we have it, but the thing that actually works really well are markets. Surely markets can fail if there are monopolies, if actors collude, if there are externalities not reflected by the price and so on and this can lead to socially suboptimal or plain bad outcomes but often they work really well. That is why I am against laissez-faire economics because well working markets are not something that necessarily arises out of the blue, sometimes it requires intervention.

<comment><USER5> Replacing markets with central planners requires that you find planners that are

1) 100% impervious to corruption 2) Able to predict the weather or any other complex chaotic system with 100% accuracy. 3) Never sleep or take vacations. 4) Completely concerned with the needs of others and completely uninterested in their own needs (no family or friends)

Once we can get 10 or 15 of those people, central planning would finally work better than imperfect markets.

<comment><USER6> > _Replacing markets with central planners requires that you find planners > that are 1) 100% impervious to corruption_

Not necessary, since markets have been proved to be quite prone to corruption themselves.

> _2) Able to predict the weather or any other complex chaotic system with > 100% accuracy._

Not necessary, they can just take quick actions. Markets can't predict the weather either.

> _3) Never sleep or take vacations._

Markets actually sleep too -- e.g. stock exchanges close. And shops, especially pre-internet, close, all at the same time, around 8-9pm (with small exceptions like your local diner).

And who said 24/7 planning is required in the first place? The whole idea about planning is that you do it in advance of some bigger or smaller period of time. Again, this "requirement" presupposes what it has to prove is needed.

> _4) Completely concerned with the needs of others and completely > uninterested in their own needs (no family or friends)_

Not necessary, since the market has proven that it's doesn't result in any 100% perfect arrangement regarding needs either.

The needs of a huge percentage are ignored (to the point that they can even die homeless and sick), 0.1% controls 80% of the wealth, and even individuals are taught and conditioned to make bad decisions all the time for their own needs, destroying themselves in the process (e.g. having easy credit pushed upon them, etc).

All those arguments presume the market is 100% perfect, or even if they don't presume that, they still ask that the "planning system" should be 100% perfect (instead of just better than the market which would be a more logical demand).

<comment><USER7> I believe central planning was already tested in the USSR, and in Mao's China.

<comment><USER6> One version of central planning and in quite specific initial conditions not quite favorable -- and with dictatorship like power structure to boot. And of course without modern information propagation, like with the internet, etc.

There are many more versions of central planning, including in the US in various segments, western Europe etc, that have done quite well for themselves.

Besides, the market has also been tested, many more times, and I wouldn't call it any great success either.

<comment><USER8> I don't claim to know the answer, but it may be that the ISIS phenomenon is what happens when you have that sort of revolution with more networking. Oh boy. Beheading videos.

Markets are fine. The things they do just become furniture we don't notice any more. Most of the "evil" things capitalists get accused of are actually just not very capitalist. There are handful of Rand-influenced firms out there ( Cypress Semi comes to mind ) and they generally just aren't noteworthy.

I would not defend Rand on her best day, but she at least had a mechanism that can be used - with modification - as an operating principle - don't trade greater value for lesser. Don't sell your soul.

I kind of think that if we could vote our way to nirvana we'd have done it by now.

<comment><USER6> > _I don 't claim to know the answer, but it may be that the ISIS phenomenon > is what happens when you have that sort of revolution with more networking. > Oh boy. Beheading videos._

I don't think ISIS has anything to do with that -- and they don't particularly thrive on modern networking either, they're just a crude group who seized power in a power vacuum in an isolated area. They could have happened 30 or 100 years ago. Of course they use some modern means, but that's not what defines them.

Besides, the ISIS guys are mostly savages in sophistication (maybe not some heads, but the ground people sure).

But to put their actions in contrast there had been tons of beheadings, torture and mass murder from colonial powers from UK to France up to the late 1950s -- and those countries were supposedly the pinnacle of civilization. And not some isolated incidents either: widespread, matter of policy, and official arranged and covered up when needed.

This is not to defend the former -- just to disgrace the latter the same.

> _Markets are fine. The things they do just become furniture we don 't notice > any more. Most of the "evil" things capitalists get accused of are actually > just not very capitalist._

The same can be said (and has been said) for "really existing socialism" like central planning -- that most of the "evil" things communists get accused of are actually just not very communist.

The thing is, what's really "capitalist" is better determined by widespread actual observation on how "really existing" capitalist societies behave -- including the horrors of slavery, colonialism, segregation, military- industrial complex, wars and such -- and not by some idealistic pure "capitalism".

Likewise for the communist version -- though, as I said for that we have far fewer samples, and from worse starting conditions.

Even so, compared to where countries like "capitalist" Nigeria is now for example, "socialist" Czechoslovakia was paradise. And then there's the various degrees of socialism that done very well in both Western Europe and the nordic countries and the US itself (New Deal).

<comment><USER8> I dunno - maybe I'm wrong, but I got the vibe from all the reports of the Arab Spring that it was largely built on social media for coordination. Well, the Arab Spring was a precursor to ISIS. Throw in de-Baathification policies in Iraq, and...

Slavery, colonialism and to an extent militarism are hallmarks of _mercantilism_. And the Military Industrial Complex in the US was because people like Eisenhower saw the huge drawdowns after WWI and because now the US was left as some sort of world leader. I don't think this was mostly sought - it happened _to_ us more than it was consciously chosen. And we were terrible at it, and some say we still are. But we had our moments.

I won't pooh-pooh Nordic "socialism". It works for them. The version Canada has seems reasonable as well.These places are poorer than the US as things are measured, but it's not like they're awful places to live.

What I'm doing is to an extent a "no true Scotsman" mess, but if you read Adam Smith, that's what you're left with. It's just that the ethical challenges of being transparent are difficult. People regress to wanting something more akin to Mercantilism, power by fiat.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER9> This doesn't seem to hold for big corporations, who will just buy out the competition when they feel like it.

And that is a fundamental problem with the economy: it is not about who offers the best products (and who has the best "genes" for doing so), but it is about who has the deepest pockets. The company with the most cash can buy the best advertisements. And that company can afford even to buy marketshare in a market in which it is not even active (and crush the competition there).

<comment><USER5> Maybe in the short run, but think about some (at the time) tiny companies like Apple, Google, Amazon that nabbed ideas or market share from sleeping giants like Xerox, Yahoo, or IBM. Sure in 1978, 2000, or 2003 I would have rather owned stocks in the second list respectively, but those small nibble guys in the first list were the winners by 2015.

<comment><USER9> I'm not sure. Companies are much more protective now. For instance, imagine that IBM, back in the 80s, locked up its PC ecosystem the way Apple is doing now. We would probably not have Linux now (and no BSD either), and no Google or Apple.

</comment></comment></comment><comment><USER10> excellent points. Indeed, the socialists don't get rid of competition, but simply cause it to reappear in other less-productive manners.

</comment><comment><USER11> Your Beliefs Don't Make You A Better Person, Your Behavior Does.

</comment><comment><USER12> This is not an either/or proposition.

We can definitely have capitalism to decide who gets what many washing machines, or laptops and so on. We do not need capitalism to decide that everyone gets enough food, shelter, healthcare, education etc.

Have socialism for the basics, and have capitalism for affluence. That way you keep efficiency without being inhumane.

<comment><USER5> What if I want filet, the shelter on the ocean, the yearly checkup at the mayo clinic, and the Harvard education? Are you ok taking the ramen noodles, drab inner city apartment, va clinic, and community college if the buraeucratic equivalent of the rude lady at the dmv says that's what she considers fair?

<comment><USER12> Buy it. We can agree on basics, which is a yearly stipend of $30,000 from the state. Then you can work to buy what you need over and above that.

<comment><USER5> Where does your 30k come from? Do we decrease spending from other areas, increase taxes, increase debt, increase GDP, or print money? The answer is usually decrease defense spending, but that's not a free lunch either. You kill a lot of middle class jobs and consumer spending noticeably drops in some regions. The same spending that supports something like 2/3 of the GDP.

Basic income is a zero sum game, it redistributes without creating productivity. Now if you gave everyone that wants to attempt to start a small business 30k to survive the first 3-5 years now your talking about something that could drive GDP.

<comment><USER13> Basic income is absolutely _not_ zero sum!

The people who would benefit from it the most would have the freedom to invest their time and money raising their children, bettering themselves, or taking risks and starting businesses.

Also, money repeatedly changing hands itself generates tax revenue, as well as personal wealth. Again, not zero sum. Giving these people purchasing power can also spur innovation from businesses who would offer them services that otherwise wouldn't be easily monetizeable.

As more jobs get replaced with automation, basic income will become increasingly attractive.

<comment><USER5> I think raising your children and bettering yourself is a great thing, but it doesn't tangibly generate revenue. Starting a business might if it's successful, but there are small business loans. Money changing hands (money velocity) is one of the ingredients to inflation along with high demand for goods and services. Detaching the expectation of some level of productivity from income is a recipe for big inflation

<comment><USER13> The inflation argument is a little misleading. We have been printing money to offset historically low and increasingly declining money velocity. The money velocity is declining precisely because wealth is being aggregated in silos and not being spent. Money velocity is essential to a healthy economy. And quite frankly, we could do with a little inflation to encourage spending and not hoarding by the uber wealthy.

Thinking that properly raising children and investing in bettering oneself doesn't tangibly generate revenue is a bit short sighted.

In 15 years when machines are cheaper and better at driving, manufacturing, and doing most unskilled labor (or even some knowledge worker type jobs). Would it have been a bad economic investment to have all the kids growing up today have parents with the financial freedom to go back to school or focus on giving their kids a proper childhood (so they can grow up and be productive citizens)?

Do you genuinely think that we are better off as a society sticking to "you have to work to live" when the machines are outperforming an entire class of people at their jobs? Not everyone can or wants to be an engineer. At some point our populations will stabilize, and technology will make it so that we have enough food and basic essentials for everyone.

We are all in it together.

<comment><USER5> >The inflation argument is a little misleading. We have been printing money to offset historically low and increasingly declining money velocity. The money velocity is declining precisely because wealth is being aggregated in silos and not being spent. Money velocity is essential to a healthy economy. And quite frankly, we could do with a little inflation to encourage spending and not hoarding by the uber wealthy.

We have been printing money for quantitative easing, but it isn't released into circulation. The Fed sets short term interest rates directly, but once those hit zero, the only alternative is QE. QE uses Fed cash (printed if you will) to buy US Treasuries thereby increasing the demand for them and driving down long term interest rates. The goal is to avoid the contraction of credit and the deleveraging of the US economy. If that much cash was just dumped into circulation you would see inflation on a large scale.

As for the rest of it I'm going on opinion which you and I have no chance of agreeing on (which isn't the end of the world, everyone has their own opinion). Yes I think child care and self improvement are great in the long run, but it can be tricky to measure exactly how much they contribute directly to GDP (quantitative measurement). Yes I also think work to live is better for society. I think work helps people stay out of trouble and even when I was making next to nothing it felt good to make my own way.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Poor approximations of heaven will suffice for poor approximations of infinite greed.

<comment><USER8> Greed is at best an incoherent standard. For it to be bad, it has to be pathological.

<comment><USER14> I don't really disagree.

For the strongest form of the author's argument; that no other system will suffice, ever; it has to be pathological. If I offered you a nice existence with entertaining leisure activities, would your response honestly be to spend the next ten years of your life lobbying for more of the pie? That's a lot of effort to expend - probably without any significant payoff since the return on happiness in terms of extra money drops off - when you could be enjoying yourself instead.

You don't need heaven if people aren't that greedy, (and in my experience - <USER2> based - most people aren't.) Some finite set of resource will suffice.

<comment><USER8> It's reasonably clear that the people who do go beyond are either just lucky or they just like that process more than enjoying the fruits of their labor.

Charles Koch was interviewed recently, and he apparently believes strongly that creating consumer surplus is more moral than not working.

</comment></comment></comment></comment><comment><USER15> The article presumes that peoples purchasing choices are made rationally and without coercion, but in a capitalist society the implicit competition between consumers and advertisers can subvert rational decision making.

Every day we are bombarded by advertising designed to seduce us into spending more money on products which we don't need. For example, is it really worth splashing out on a new power drill that will probably only be used to drill a few holes? Will a 2 week luxury cruise holiday bring me more enjoyment than 40 nights out with friends?

Websites such as which.co.uk, uswitch.com and moneysavingexpert.com help consumers make better decisions, but they don't address financial decision making in the wider sense of personal utility. It would be nice to see some websites/apps to help with this, and I think it would be an interesting and challenging task...</comment>


Show HN: "Email This Page" with a single click - <AUTHOR> https://chrome.google.com/webstore/detail/email-this-page/dkfkjckpdlhaiifglhkakloaghafbhdo

<comment><AUTHOR> Clarification: It actually sends an email with a single click (not just open up email compose window)

</comment><comment><USER2> i use a gmail extension that does the same thing

<comment><AUTHOR> doesn't it just open up compose window instead of actually sending it with a single click?</comment></comment>


Ask HN: Help me choose the best syntax for a new language - <AUTHOR> Hi HN friends,
I have a hard time deciding between the following options for variable scope syntax. The language is supposed to be very easy to learn.
A) Local variables start with `@`.
Pros: Easy to identify global and local variables. You have easy access to global variables inside a scope.
Cons: Users have to learn variable scope from the start.
Example:

  <set var="x">3</set>
  <scope>
    <set var="@x">4</set>
    Local x is <put>@x</put>.
  </scope>
  Global x is <put>x</put>.
 Result:

  Local x is 4.
  Global x is 3.

 B) Local variables silently overshadow existing global variables.
Pros: Easier to learn (no more `@` in the syntax).
Cons: You loose access to the global `x` -- the only way to access a global variable is to make sure it has a unique name.
Example:

  <set var="x">3</set>
  <scope>
    <set var="x">4</set>
    Local x is <put>x</put>
  </scope>
  Global x is <put>x</put>
 Result:

  Local x is 4.
  Global x is 3.
 C) Reversed system: use `@` for global. I personally don't like this because there would be too many `@`.
D) ... Any other suggestions?
Thanks :) <comment><USER2> A mix of B and C.

Variables bound within a scope should be able to shadow variables bound in parent scopes, but global vars should be made obvious when they are used within the codebase - visually marking global variables is a good thing.

Example:

      <set var="@x" global>3</set>
      <scope>

          <set var="x">4</set>

          <put>x</put> // 4
          <put>@x</put> // 3

          <scope>
             <set var="x">10</set>

             <put>x</put> // 10
             <put>@x</put> // 3
          </scope>

          <put>x</put> // 4
          <put>@x</put> // 10
      </scope>

</comment><comment><USER3> A few more alternatives:

\- B, with an explicit syntax for accessing the "global" x. For instance, ::x, or global::x.

\- B, with a compile-time warning or error if you shadow a name. This would be my preferred alternative.

</comment><comment><USER4> I choose B and make variable overshadowing a compiler warning.</comment>


WebP image support implemented in Firefox - <AUTHOR> https://bugzilla.mozilla.org/show_bug.cgi?id=1294490 <comment><USER2> I wonder why now? And what is the point?

Are Safari and at least Edge planning to support WebP at all? If not, it sounds like a failed attempt as a image format for the web. Perhaps they thought implementing might put WebP on their radars?

<comment><USER3> Edge already supports it. With this announcement, Safari is now the only major browser that doesn't.</comment></comment>


Germany shuts down seven reactors because of Fokushima - <AUTHOR> http://www.reuters.com/article/2011/03/15/germany-nuclear-idUSLDE72E17620110315

<comment><USER2> This strikes me more as a political stunt by Merkel to rally the conservative base in Germany than anything else.

Still, it doesn't surprise me that this is such a hot button issue right now. I've long been a supporter of nuclear power, but the events of the past week have made me start to reconsider a lot of my beliefs about its safety.

<comment><USER3> Which beliefs? That a nuclear power station situated in a major earthquake zone next to the coast could magically survive a 9.0 earthquake and a tsunami?

Right now, we don't know how serious this situation is, it could be that this will end with a small amount of radiation leaked and four reactors that have to be decommissioned. Or it could end with a major environmental disaster. We simply don't know yet.

I'd caution calm and not following in the footsteps of Germany. Let's wait and see. In a few weeks we may be reconsidering nuclear power, or we may be marveling at how well those plants survived what happened to them.

<comment><USER4> > That a nuclear power station situation in a major earthquake zone next to > the coast could magically survive a 9.0 earthquake and a tsunami?

The un-posed question is "what happens if a group of terrorists fly an A380 directly into one of these plants"? Someone on reddit was mentioning that a nuclear plant in Texas was built to "withstand a direct hit from an F-16 traveling at supersonic speeds", but I guess an A380 is so much heavier and larger than a F-16. Because right now terrorists don't even need to get access to the US aerial space, they can hit a nuclear plant in Mexic (let's say this one [http://en.wikipedia.org/wiki/Laguna_Verde_Nuclear_Power_Stat...](http://en.wikipedia.org/wiki/Laguna_Verde_Nuclear_Power_Station)) and still be able to cause important damage to the US population.

Here's the reddit comment I was talking about: [http://www.reddit.com/r/pics/comments/g3tfr/and_you_are_tell...](http://www.reddit.com/r/pics/comments/g3tfr/and_you_are_telling_me_nuclear_power_isnt_safe/c1kpxqk)

<comment><USER5> K=1/2*mv^2?

My intuition (as a mechanical engineer, desinging military systems as my day job) is that the F16 going supersonic is far worse. Either way, there is no possible way you have enough information to make any of the claims you just made.

A better question to ask yourself how safe your highway transportation is, because within an hour of my house we've had 15 people killed in bus accidents in the last 72 hours. And that doesn't even begin to count car accidents. I live within 5 miles of over 10 nuclear reactors and they have never and will never scare me because I actually understand the engineering behind them. Nuclear power is not magic. Small doses of radiation scare me far less than the concussions I get from sports I play.

<comment><USER4> > Either way, there is no possible way you have enough information to make any > of the claims you just made.

I took out this from this report ([http://www.euronuclear.org/reflections/nuclear- facilities.ht...](http://www.euronuclear.org/reflections/nuclear- facilities.htm)), which I think was also mentioned by jgrahamc:

> The studies showed that even if knowledgeable insiders could disable key > safety equipment, redundant systems would provide backup protection. In > scenarios where all engineered safety systems were ruined, there was still a > period of hours to take corrective actions before onset of core damage.

Now, you may argue that what indeed went wrong in the case of the Fukushima plant was that the "redundant systems" didn't provide the "backup protection" the experts relied on. I see this report is confident this would not be the case were the terrorists to hit a nuclear plant, but based on what happened in the last few days I'd say the confidence level for that scenario is bellow 100%.

Anyway, thx for those downvotting me, and I hope I'll never be proven right.

<comment><USER6> The backup generators that they bought on site had the wrong types of plugs on them.

When this is all done, I am sure that most of the problems at Fukishima will be found to be administrative rather than design.

As an aside, that plant was designed to withstand an 8.4 earthquake. Design requirements and actual strength are two different issues. Even a complete meltdown, such as at Three Mile Island, should be contained.

<comment><USER7> 'had the wrong types of plugs on them'

I have seen this as one of the biggest failures so far.

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> Nice to know that there is another country out there that's as irrational as the US.

Does Germany have a lot of tsunamis?

<comment><USER9> Naww, but soon they'll have more people with lung cancer from breathing all that burning coal and oil for energy.

I think this is a political move that is going to help in the next election. The "greens" will see this as a handout to them and nuclear power is too complex and scary an issue to have someone defend it properly. Oh well, back to fossil fuels!

<comment><USER10> the situation is a little bit more complex in Germany: after the former government negotiated the nuclear power exit with the four big power companies maintaining nuclear power stations, these big four were able to adapt their strategy for the _days after_ , which they did. so especially the concession made by the current government about letting the old power plants run longer than planned is considered to be just a huge gift to these companies by a lot of germans ( _unexpected_ bonanza for the companies).

</comment></comment></comment><comment><USER11> I guess a knee-jerk reaction can be expected in a country where nuclear power is currently pretty controversial.

<comment><USER12> It's only a temporary measure anyway, the plants will be inspected and (if everything well) turned on again until 2023 or so.

Personally, I'd feel a lot safer if all nuclear plants were turned off forever. Sure, the chance of something going horribly wrong is low, but if it goes wrong it is a big big mess. Just too horrible to warrant any of the advantages that nuclear power has.

<comment><USER13> The deaths from other fuel sources, while not as immediately obvious as "oh look that nuclear plant just blew up" are potentially far greater.

<comment><USER12> Frankly, I have heard that argument many times. I know other fuel sources cause deaths too. Gas tanks can explode, fossil fuels exhaust gasses can be poisonous, oil can leak into the sea, and so on.

And still I'd rather be exposed to all of those risks than worry about one nuclear explosion. As I said, the consequences can be just too horrible, for too many people.

I'd love to move on from fossil fuels to something else, but not something that can cause such disasters.

<comment><USER13> That's because you're mind is clouded by the effects of a mental fallacy (the availability heuristic to be precise) <http://en.wikipedia.org/wiki/Availability_heuristic>

<comment><USER12> You have the full right to disagree with me; I voiced my post as my personal opinion. But you're very rude to say my mind is clouded. I simply don't like large downside risks.

<comment><USER12> Huh, I cannot react to your post directly.

No matter how you compute statistics, a nuclear meltdown is a big downside risk. It _can_ happen, and if it happens it's extremely destructive. It's an event with a small chance of occurence but with great consequences.

That's qualitatively different from something like traffic accidents. The chances of those happening are much higher, but if they happen, they affect at most a few people, They won't turn your city into a 'wildlife reserve' for years to come.

Even though the total amount of people that die of traffic accidents is higher, to me it's less scary. The risks are more manageable: you have some degree of control over it (drive safely) and the consequences are visible.

</comment></comment></comment></comment></comment></comment></comment><comment><USER14> Germany's green party has been trying to kill the nukes there fore quite some time now: the SPD/Greens officially announced their desire to phase out all nuclear power in Germany in 2000, and two power plants had been shut down in 2003 and 2005 and were planned for dismantling.

The CDU (Merkel's party) was an opponent to the phase-out, and has been very open about it since 2008, but I'm guessing they saw the writing on the wall: the Fukushima events can only fuel the already powerful german anti-nuclear movement (we're talking rallies of tens of thousands in recent years) further and there's no point in wasting political capital on a lost battle.

<comment><USER15> The phase out seems to have become political consensus during the last years, there is only disagreement about the time table.

</comment></comment><comment><USER16> Context: The previous government had decided to phase out nuclear power by 2020. After the last election the current revoked that decision and even allowed old power plants that were due to be shut down to operate longer. So, if they hadn't revoked that decision, the seven reactors we are talking about her would have been shut down already or would be about to be shut down anyway.

<comment><USER17> What are they replacing nuclear power with? From what I understand, Germany is one of the few countries ramping up manufacturing, which is a huge consumer of power. It's interesting that they are essentially cutting supply as demand increases.

<comment><USER15> Fossil fuels and energy imports (short term) and renewable energy (long term).

In 2010, 16 percent of all electric power in Germany came from renewable sources (6.4 percent wind, 4.2 percent bio mass, 3.2 percent water, 1 percent photovoltaics, 0.8 percent waste). Coal is at 43 percent, nuclear energy is at 23 percent, oil and natural gas are at 15 percent. (Source: [http://www.bmwi.de/BMWi/Navigation/Energie/Statistik-und- Pro...](http://www.bmwi.de/BMWi/Navigation/Energie/Statistik-und- Prognosen/Energiedaten/energietraeger.html))

The current government thinks that ramping up renewable energy to replace nuclear energy until 2030 is realistic.

</comment></comment></comment><comment><USER18> They are not permanently shut down. This is most likely a move because of the impending elections, as nuclear energy is quite controversial here in Germany.

</comment><comment><USER19> The events in Japan represent the end of nuclear energy as a viable long-term option.

<comment><USER20> "Long-term" is a long time. The next few years? Maybe. The next hundred? Of course not.

</comment></comment><comment><USER21> [http://www.theregister.co.uk/2011/03/14/fukushiima_analysis/...](http://www.theregister.co.uk/2011/03/14/fukushiima_analysis/print.html) has a fairly sober analysis that shows just the safeguards are generally working even in a scenario not even imagined.

(Yes, yes, one has to imagine all possibilities, but all human life involves some risk.)

</comment><comment><USER22> The real lesson here is that you've got to evaluate options on the basis of what happens when the system fails.

Because the system WILL fail.

This is one of the hardest lessons for engineers to learn. That you simply cannot prevent failure. You can make it less common. You can take all reasonable steps to prepare against it. But failure will happen.

So what are the consequences when it does?

The answer in the case of nuclear power is that the cost comes at a level and in a form that many societies are not willing to pay. You can argue the irrationality of that, but you'll lose the argument. Societies don't make decisions on a rational basis. And they're never going to.

This incident is in fact a failure of engineering. There was radioactive material released into the atmosphere in an uncontrolled manner. It doesn't matter if it gets worse or better, that's the thing that absolutely was not supposed to happen. It did. The system failed.

</comment><comment> tobias-ch Since when was Germany in a major seismic zone? Political grandstanding I fear.

<comment><USER23> <http://de.wikipedia.org/wiki/Basler_Erdbeben>

know your own history...

</comment></comment><comment><USER24> This move will push renewable energy know how in germany.

</comment><comment><USER25> Fukushima. It's Fukushima.

</comment><comment><USER26> Stunt.</comment>


Ask HN: How do you transition to a new stack or language for your next job? - <AUTHOR> I'd like to switch to a new stack or language for my next job, but it's always the most practical and easiest to stick with what I know. What are your strategies for diversifying your experience and actually landing jobs where you're new to the programming language or stack? <comment><USER2> You can get jobs in tech stacks you don't know. It's harder, but totally possible.

Easiest way: switch teams at current job.

If not: find jobs where otherwise you're a great fit (e.g. domain knowledge). Find companies that are more likely to have learning culture. Emphasize ability to learn quickly.

Long version: [https://codewithoutrules.com/2018/01/23/job-with- technology-...](https://codewithoutrules.com/2018/01/23/job-with-technology- you-dont-know/)</comment>


Should I be paid more? - <AUTHOR>

Ever since I started my career in software engineering, I have always wondered what exactly I should be paid, or in other words what is my worth?  I know the answer depends on a lot of factors such as location, experience/knowledge, day-to-day responsibilities, supply and demand, company size, company profit, etc… But I wanted to give a brief background information about myself and wanted to get honest opinion from my peers at hacker news so I get a better sense of what I'm worth and hopefully this post will also help someone else who may be wondering the same thing. My title is Mid-Level software engineer with 2 years of experience. I have a CS and Fine Art degree. I work for a small private company (government contractor) in the Washington Metropolitan Area  (Northern Virginia to be specific).  I am currently the only and lead Software Engineer for two Java enterprise applications.  I ship code about 5 to 7 times a year with about 200-320 development/test hours for each release. I lead and take part in every phase of software development lifecycle including customer support. I have managed to clear two Oracle Certifications in one year, and preparing to clear another in the near future. According to my yearly review I was told I was doing an excellent job and will be promoted to Sr. Software Engineer within a year at the pace I'm going.   My company size is in the range of 20-30 people and yearly profit is about somewhere in the range of 5-10 million. I have lot of experience in Java and J2EE technologies, but I am also very familiar with PHP, ROR and somewhat familiar with C, but I can learn anything in a short period of time.  Right now I make about 75K a year. Hope that is enough info to give you an idea of how much I should be paid?  So the big question is 'Should I get paid more?'
Thank you all! <comment><USER2> There is a lot of other stuff to factor in.

First and foremost, are you happy and do you see a future for yourself there? If the company's primary focus is software, then defense is less of a concern than if software is adjunct to the core business. Do you drive profit, or are you a cost center?

Are there people there you can learn from? It sounds like the company is doing well ($166k to $500k profit per employee--profit, not revenue), but if you are 2 years in and already the biggest fish in the pond, then you may have a decision to make, possibly based on whether you can get any equity or not. The small size of the company is a plus, particularly if they are software focused.

If you have any ambition or dream to move to a commercial company, now is probably the time. While defense can provide a premium (especially in the NoVa market), it also tends to come with a bit of a stigma around process that can be hard to shake if you are immersed in it too long (both in terms of habits and perceptions those outside the industry can have). Take your experience and make the jump to an industry that suits your tastes. Loving what you do and sticking with it can yield better financial outcomes than can simply trying to optimize a situation that is "just a job".

If your current company is growing, and you are growing with it, and if you see some of the shared upside...then don't worry so much about base rate. Your skills and ambition will keep you a big fish in that pond and you should start to see the upside soon.

</comment><comment><USER3> Before I try to answer the "should", I can tell you that you certainly "could". I have lived and worked in DC/NoVA area and there is definitely possibility to get more. But coming back to the point about "should", you need to ask yourself the following questions and assess your situation:

1\. How critical is your position/situation at the current company ? Is it possible to have a frank discussion about salary with your manager and see where it goes ?

2\. Have you tried looking outside just to get an idea of how much someone is willing to pay you ? With 2 years of experience, 75K is not a bad number necessarily but again I know a few 2 years experienced Java devs making more than that.

Bottomline is that it comes down to whatever you can _negotiate_. Pay attention to the word _negotiate_ again. Thats what it really is all about. If you don't try hard, your employer will obviously not do charity even if they love you. So go out there, talk to current employer _and_ look outside at the same time. You will know where you stand.

<comment><AUTHOR> Thanks for your time an input. To answer your question, yes I believe my position is critical. I don't have any backups as of right now that are familiar with what I do, but that is not to say there aren't other employees that could potentially pick up when I leave but I believe the projects can be at huge risk if leave suddenly. I don't know if the managers are open to negotiation but I think it doesn't hurt to ask. To answer your second question, I haven't looked at other employers, but I have a lot of friends that work in the area and they say people in their company with similar responsibilities make a lot more than I do. But I will take your advise and try to negotiate and if that doesn't work out try looking into other places.

</comment></comment><comment><USER4> If you go out on your own and contract with that same company, chances are good that you could easily pull in $100/hr (I've heard numbers much higher than that, but am trying to be conservative here). Now, there's a higher risk for contracting, and you're on your own for paying taxes, but if you work from home and have a home office, you can claim lots of deductions. Still, assuming a 35% tax rate with no deductions, and spending only 75% of the year doing billable work, that's still a nice salary of $101k.

If you don't feel confident to go out on your own, or need stability and/or benefits, you can always start shopping around at other places (lots of companies are hiring for your skillsets in the DC area). This can be a good opportunity to practice your negotiation skills, and see how high of an offer you can get (tell them what your current salary is and that you know you're underpaid). Then you can either take the new job or go back to your current company and get them to match.

</comment><comment><USER5> There's no right answer to "should you be paid more" - either you can get someone to pay you more or you can't, and the only way to find out is to go and ask for it. Your salary is whatever you can negotiate, no more or less.

A quick glance at GlassDoor's salary data is that $75K is pretty typical for someone with your experience, skillset, and location.

<comment><AUTHOR> Not sure about GlassDoor but according to salary.com and payscale.com and a search on "Software Developer III" or "Software Developer IV" (titles that closely match my job description) the median salary for NoVa is believe it or not, around 100k. Even a search for "Software Developer II" comes up to be around 85K. I think the problem here is that I have few years of experience (2 years) but my job description matches more of SDIII or SDIV which is about 5-10 years of experience. But I don't trust the accuracy of these sites hence why I created this post so i can get answers from real people. I appreciate your input.

<comment><USER6> You mentioned that the company you work for is a government contractor. Is it a product company or a support services company? If it is the latter, then 1)the rate that the company can bill you out at is determined based on years of experience and not what you actually do and 2) the government is clamping down on companies rates and many are in a pay freeze right now. If it is a product company they have more latitude, although not as much as you would think.

100k for 7-10 years seems right for the area, especially if you are in the government contracting realm(contrary to popular belief, government contractors are paid well below market). A company that competed in the private sector could probably pay more. 85K for about 5 years seems a touch low for an average, but no incredibly so. 75k for 2 years is probably a touch above average, although not incredibly so.

<comment><AUTHOR> It is a support services company. I am still not sure why a company would pay just based on years of experience as opposed to performance, but thanks for your input.

</comment></comment></comment></comment><comment><USER7> Definitely ask for a raise. I think you are underpaid. A quick search for "Junior java developer" on indeed.com, indicates that you could easily be making $20k more than you presently do.

<comment><USER8> The more important thing is that HE thinks that he's underpaid. It's clearly something that he's put quite a lot of thought into. I think that ultimately he's looking for a push, or some confidence boost, to approach his boss. So OP, my advice is this: look for a new job. You don't have to get a new job, but you can look. There's really no downside to it. Perhaps after a month you'll realize "damn, I can't find anything without taking a pay cut" and your problem is solved. OR, you'll find a company that loves and wants you for more money. Then you have ammunition (and confidence) to approach your boss.

<comment><AUTHOR> Thanks for your input. Yes but are you implying that i tell my boss that another employer is willing to higher me for X amount? I feel a little uncomfortable taking that approach.

<comment><USER8> It's actually done pretty commonly. Usually as a "hey, I love working here and would love to stay, but I have an offer from company XYZ for $X. Is there any way we can work toward that number?" My friend just got a $10k raise in a day doing that last week. Granted, you have to actually have an offer in case they tell you to GTFO.</comment></comment></comment></comment>


Having a disaster recovery plan is cool but what if you tested it? - <AUTHOR> https://toucantoco.com/en/tech-blog/tech/test_the_drp <comment><USER2> Awesome, how often do you plan to test it ?</comment>


Ask HN: Should we filter out "Um, What?" from comments? - <AUTHOR>

Whenever I see a comment that begins with "Um, What?", usually only snark follows.
It would be nice to have that replaced with the empty string or grayed out or something.
What do you all think? Perhaps this might be better as a browser extension. <comment><USER2> If you want a browser extension go ahead and write it but this definitely should not be a feature of the site itself.

</comment><comment><USER3> If someone's being needlessly snarky, tell them.

<comment><USER4> Um, what? You think we need more layers of metacomments upon metacomments?

<comment><USER5> You are being needlessly snarky.

<comment><USER4> Um, what? I'm pretty sure I chose the optimal snark level.

</comment></comment></comment></comment><comment><USER6> Um, what?</comment>


In Conversation: Trent Reznor - <AUTHOR> http://www.vulture.com/2017/07/trent-reznor-nine-inch-nails.html <comment><USER2> >Wouldn't a music obsessive like yourself have loved having the same choices that listeners have now? Again, I'm not saying mine was a better era, but a lot of the music I ended up really loving was because I spent nine bucks on an album and that meant I had to listen to it and figure it out.

This is one of the biggest changes for me. As a kid when I was a kid getting an album was RARE. I inherited a ton of cassettes and 8-tracks from my dad. And I listened and listened and listened until I'd heard and knew every minute detail of every track.

These days it's rare for me to give an album more than a couple listens unless it's something that REALLY stands out.

<comment><USER3> I find a lot of new bands and albums through Spotify and YouTube (and last.fm before that), and I listen to them repeatedly just like the old mix tapes from friends that I started out with back in the day. I think this kind of deep inspection of an artist or album is something that certain people do regardless of the availability of music.

<comment><USER4> I think the deep inspection of an artist or album still happens as you suggest, it's just over a more condensed time frame.

I'd have a single CD sit in my stereo for months when I was a teen and I'd listen to it over and over, but only when I was home. Now that I take my whole music collection and an internet connection with me wherever I go, I find I'll rinse out a new interesting artist while at work/home/commuting for a few days or weeks, depending on the amount of music they've published, buy a few of their best tracks, and then they graduate to my collection to be revisited occasionally.

In effect they get as much airtime as when I played a CD repeatedly, just over a shorter span of days thanks to how portable and accessible music has become. Music is so accessible I can even explore a sizeable chunk of an interesting sub-genre on Soundcloud over a period of days. I'm truly spoiled.

</comment></comment></comment><comment> le-mark This really stood out to me:

> When we first started off, our interaction with our audience would be > someone recognizing you at a record store and saying, "I'm not a fan, but my > so-and-so is." Okay, fuck you. Or people would find out where you live and > send you a letter and you'd read something that clearly came from an insane > person. Then the internet connected everybody. I remember the Prodigy > bulletin board and being fascinated to see there was a Nine Inch Nails room. > The promise of that kind of interaction with fans was exciting. The > consequences of how that interaction has evolved have not been.

He's a bit more introspective later on about his role in that, how if you're in the public eye, you have to manage your image. It's so weird to think, we're all adults now. Like he says, he never considered having to represent those lyrics twenty years later.

</comment><comment><USER5> Fun fact: "Reznor graduated in 1983 and enrolled at Allegheny College, where he studied computer engineering."

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

<comment><USER6> Another fun fact: Trent was in the jazz band in high school, where he played keyboards. (Source: a college classmate of mine went to high school with him. I always found that a weird thing to picture.)

<comment><USER7> Although there's obviously plenty of keyboards in NIN, here's him playing keyboards back in the day..

[https://www.youtube.com/watch?v=xLPcE-5YWKI](https://www.youtube.com/watch?v=xLPcE-5YWKI)

Fun video.

</comment></comment></comment><comment><USER8> Nice quote about how the profit motive and being in bed with the corporate world affects your work:

> "I remember having a conversation with a well-known EDM artist. Half of the > brief conversation was him humblebragging about how many corporate sponsors > he's got: I can't do this thing because I don't want to piss that sponsor > off and I can't do that thing because I need to make sure this other > sponsorship deal stays in place. That's not what the spirit of being a > musician or a rock star is. Why are these people even making music? I'm > doing it because I have to get something out and I feel vital when it > resonates with someone else. When I can get paid, too, that's a nice > consequence."

Parallels with the creative process of software development. I've always thought the best software I've ever written is at home on unreleased hobby projects. Only in that context can one truly say to hell with all the needs of these outsiders (what investors want, what customers want, what the boss wants, and the all-important deadlines) and focus on writing great software for its own sake.

<comment><USER9> You seem to be skipping over the part where he says "I feel vital when it resonates with someone else". Even with art, the end result is valuable because of its impact. Unreleased music has little value. Unreleased software has even less.

<comment><USER10> Creativity and art don't have to be for other people to be of value.

</comment></comment></comment><comment><USER11> That's a cool interview. Reznor has always been ahead of the pack in trying to understand the changing of the music business and trying out stuff. He has a lot of insight on that as well as the creative process. Not to mention he's still a fantastic musician and songwriter and NIN a fantastic band.

<comment><USER12> Was he?

The only things I read from him in the last 2000s were how he hates social media and its users.

<comment><USER11> He was one of the first big acts, along with Radiohead, experimenting with free downloads (Ghosts I-IV), streaming live performances and rethinking the whole label/album format. He's definitely put a lot of thought (and money) into all of this.

<comment><USER12> Yes he was.

But sadly he was also a hater.

I saw a few such characters online over the years. Brilliant people doing good stuff, but somehow they overreact to criticism and idiots in general. Somehow they can't just "let people" talk, they have to counter, they have to tell the world "how it is" etc.

<comment><USER11> I don't think he's a "hater" but he's not a reporter his style is opinionated and he tends to swear if that's what you're talking about. You might have read some opinion he had you disagreed with and are letting that color your opinion over all his other work?

<comment><USER12> No, I think most of his work is good.

I just hadn't the feeling he's a pleasant person to be around when I read his rants about Twitter and co.

</comment></comment></comment></comment></comment></comment><comment><USER13> Reznor is clearly a smart guy. I always love reading interviews with him. I don't agree with all his positions but it's refreshing to read about a thoughtful musician.

<comment><USER14> There's a really interesting, recently released HBO documentary called "The Defiant Ones"[1] which is about the story of Interscope Records, Jimmy Iovine and Dr. Dre. Trent Reznor is interviewed in it, because he has worked with Jimmy Iovine for quite some time. Iovine, Dre and Reznor all come across as very smart, humble and incredibly hard working individuals.

Here's a clip regarding Nine Inch Nails and Iovine: [https://www.youtube.com/watch?v=HPJZdtyXAVo](https://www.youtube.com/watch?v=HPJZdtyXAVo)

The whole four episodes are well worth watching.

[1] [http://www.imdb.com/title/tt6958022/](http://www.imdb.com/title/tt6958022/)

<comment><USER15> This explains Dr Dre's involvement in the production (assistant mixer) on 'Even Deeper' from Nine Inch Nail's The Fragile album.

Picture of Dr Dre in the studio with Trent, Charlie Clouser, and Danny Lohner: [http://www.nin.wiki/File:Drenin.jpg](http://www.nin.wiki/File:Drenin.jpg)

</comment></comment></comment><comment><USER16> The commentary around not just how the experience of listening to music has changed with the advent of the internet, but actually the context around how different that experience is, was really novel thing to think about. The transactional commitment to just consuming what an artist or band put out before the internet was by comparison so intense -- it's a change that's fascinating to consider.

</comment><comment><USER17> His comment on being surprised to discover he had a large following in Mexico was kind of interesting. I actually met someone who told me they learned to speak English by studying NIN and Tool lyrics. I'd be curious how many other people there are out there like that. That's probably something he never considered when he first got into music.

<comment><USER18> I know an Uzbek who learned English exclusively for the first couple years through Seinfeld reruns. I always thought that was neat.

</comment></comment><comment><USER19> I'm so glad he's sober, and it is great hearing his influence in so much music.

</comment><comment><USER20> That In Rainbows style release via the email would've worked better if it was a NIN record instead of a collaboration with another artist.

Really nice to read his opinions though, I wish they asked some questions about working with Fincher and other movie soundtrack work they seem to be doing.

</comment><comment><USER21> His music arrangement for the Social Network is an absolute favorite body of work.

</comment><comment><USER22> >>What makes you hopeful about music's future?

>I still feel like a student who has more musical places to go. I'm in awe of the compositional possibilities still out there. When I work on new music, nine times out of ten, I feel like I'm tuned into something I haven't explored before. And working on films with Atticus [Ross] is teaching me so much. I'm interested in learning more about traditional orchestration; there's harmonic exploration I want to do. There are a million rhythmic things I want to explore. My optimism comes from the possibility of expanding my musical brain.

It's pretty amazing how Trent turned his entire life around into something like this. It's my belief that one of the most important things you can do in life is to find good people to be inspired by in totally different worlds than your own. As a software engineer it's pretty easy to have Trent be one of those (many) people.</comment>


Review my startup, http://www.arkli.com/ - <AUTHOR>

Arkli helps companies schedule integrated marketing campaigns.  Using Arkli users can schedule videos to YouTube, blog posts, Facebook updates and Tweets.  Each campaign can have an unlimited number of videos, blog posts, Facebook updates and Tweets.
When the time comes, Arkli publishes the posts in the right order and to the right channel.  (So if you have a blog post that embeds a YouTube video, followed by a Tweet, we know to publish the video first, then put the embed code into the blog post, then shorten the URL, add it to your Tweet and publish it).
Arkli aggregates comments from all the channels - YouTube, blogs, Facebook and Twitter replies, and allows you to reply to any of them right from Arkli.
It also calculates statistics for the campaign - measuring your reach, number clicks, number of comments and other relevant stats for the campaign.
We're working on integration with email from MailChimp and Campaign Monitor so that we can integrate email campaigns into the product.
I'd love your feedback on it.
Thanks,
Mike <comment><USER2> Oh lordy... For a quick temporary fix: Turn "start your first campaign" into a button. Turquoise should not be used for both the header and the main content, use it for just the header, make the main content area white with very very little or no texture. Turn "Get Announcements Noticed" into "Get Your Announcements Noticed". And everything under it in a bullet point.

It's a temp fix, there's some serious work to be done but it'll at least be better.

<comment><AUTHOR> Thanks Chris - I really appreciate your input. I've implemented some of your suggestions for the front page.

I'm also looking for feedback on the idea itself - would love to hear what people think of it.

Mike</comment></comment>


A 2011 stackoverflow post on Diablo AI, updated with technological advances - <AUTHOR> http://stackoverflow.com/questions/6542274/how-to-train-an-artificial-neural-network-to-play-diablo-2-using-visual-input <comment><AUTHOR> Sorry for butchering the title to try to fit it into 80 characters. That's really restrictive. Original title was "'How to train an artificial neural network to play Diablo 2 using visual input?' A stack overflow question posted in 2011, then updated in 2012, 2015 and again in June 2016 with links to various technological breakthroughs in the field."

From this reddit thread, which I thought would be of interest on HN: [https://www.reddit.com/r/MachineLearning/comments/4rskln/how...](https://www.reddit.com/r/MachineLearning/comments/4rskln/how_to_train_an_artificial_neural_network_to_play/)</comment>


Hack Wi-Fi With The Same SSID To Create Fake Access Point - <AUTHOR> http://blog.hackersonlineclub.com/2014/04/hack-wi-fi-with-same-ssid-to-create.html

<comment><USER2> This is one of the oldest tricks in the book, right up there with the 2600hz tone, finding passwords same as the username and dialing all the numbers in an area code.

It still gets em every time. Give my regards to the cap'n.</comment>


Android Studio 1.0 - <AUTHOR> http://android-developers.blogspot.com/2014/12/android-studio-10.html <comment><USER2> The fact that they're doing this with Jetbrains excites me. Potentially enough for me to take another shot at playing with Android development. The toolset felt so raw the last time I messed around with it (Eclipse+ADT days) that it turned me (not a Java developer) off.

I have been super impressed with PyCharm, and have heard great things about some of their other IDEs. Google picked the right partner to build on/with for this.

If they have sufficiently smoothed over some of the annoying workflow/build snags I was running into in the old Eclipse+ADT days, this could be a whole new ballgame for us who don't play with Java or Android for a living.

<comment><USER3> Senior Android Dev here, moved from Eclipse to AS when it was still in preview earlier in the year. It's loads more stable and much easier to use. Definitely recommend giving it a go if you were turned off by Eclipse + ADT earlier.

<comment><USER4> That's totally true. I've been a Java developer for quite a while. And I always find myself struggling with some Eclipse bugs or bad implementations. I downloaded android studio since the very beginning for the Android projects. The more stable interface really helps a lot.

</comment></comment></comment><comment><USER5> I hated Android Studio when I first started using it. All my shortcuts were different from Eclipse, and the whole module structure wasn't as intuitive for me (I stayed away from IntelliJ too). However, after using it for the last 6 months, I have to say, it is a huge improvement for Android Development. There are soo many slick IDE features, like icon previews to the left of the editor, smart code collapsing (done automatically by the IDE without modifying the source), preview's on text resources, UI preview's that put Eclipse + ADT to shame, and very very nice gradle integration.

And at this point I freaking love gradle over Ant. I use to be an Ant fanatic (which isn't saying much), but gradle gives so much more structure to my builds now, and Maven is no longer such a pain in the ass.

<comment><USER6> You've likely already discovered this, but in the off chance not, you can set your keymap to match Eclipse. Just go in Preferences > Keymap, and select Eclipse or Eclipse OS X from the dropdown.

<comment><USER7> Please don't do this. I know I'll probably get voted down by people, but doing this is terrible if you're in a team. You can't move efficiently to a co- workers computer and pair program like this.

Take the time to learn the shortcuts for AS. They might be long and arduous, but learn them. Then you can jump from keyboard to keyboard without having to tell a team member, "Before we begin, let me change your keyboard shortcuts to my preference".

<comment><USER8> Sure you can. Ctrl-Shift-A, type 'keymap', and you get a handy popup (same size as the 'recent files' switcher available with Ctrl-E) with the defined keymaps ready to use. Few seconds, maximum.

<comment><USER9> Even quicker: Ctrl+` brings up a quick switch context menu that allows you to instantly switch keymaps, code styles, L&F and colors.

</comment></comment></comment></comment></comment><comment><USER10> Also interesting is that the Eclipse based ADT is no longer being maintained. Guess there's no choice but to migrate. [http://developer.android.com/sdk/installing/migrate.html](http://developer.android.com/sdk/installing/migrate.html)

<comment><USER11> It's for the best. Android Studio today is far better than Eclipse+ADT ever was. Maintaining two entire toolsets would be wasteful. Clearly Google decided it was easier to build the tools they wanted on top of IntelliJ than on top of Eclipse, even accounting for having to start over. That speaks volumes about the two platforms.

For a time Android Studio was unstable and not feature complete[1], there were valid reasons to stay with Eclipse. These days the only people that aren't happy about it are those that prefer Eclipse to IntelliJ. That certainly is a valid opinion, but there were people that preferred IntelliJ to Eclipse the first time around. You can never please everyone.

[1] Yes, I know NDK support isn't yet in Android Studio, it is coming.

<comment><USER12> It's still very unfortunate, the developer community is about split between Eclipse and IDEA: forcing half of the developers to learn a new IDE might slow down Android adoption.

They have enough resources to maintain both ADT and Android Studio, it's a very surprising move.

<comment><USER13> > forcing half of the developers to learn a new IDE might slow down Android > adoption.

I know of a platform that forces developers to learn how to use their IDE, their Operating System, their Hardware, and recently their new language, and their adoption hasn't slowed down...

<comment><USER5> heh I actually know of two platform's if you consider new windows phone.

<comment><USER13> Nope, Windows Phone (fortunately) doesn't force you to use Microsoft Hardware (yet).

<comment><USER14> Pardon me? I wasn't aware of any other platforms that you can use to develop for windows phone.

<comment><USER15> The windows platform runs on third party hardware, including Macs.

<comment><USER14> I know that you can run Windows on a mac, but you can't use OSX to develop for Windows.

<comment><USER13> You can't even install OSX on something without an Apple logo (well, in theory you can but you shouldn't because _insert legalese and threats here_ ).

In the case of Apple their closeness is not hurting them, and definitely not decreasing their adoption.

In the case of Microsoft... well, they still need to convince people to take Windows Phone seriously, so their closeness only helps to hurt them.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER16> As a strongly leaning iOS developer, something like the "Xcode for Android" was something that was holding me back from committing more to experimenting on the platform. The fact that Instruments, Interface Builder, etc are integrated _well_ alongside the editor is huge and I think Google is wise to invest here.

Developers, developers, developers!

<comment><USER17> xCode today is and extremely sophisticated IDE. I think there's no other software more complex than it that is so well designed to maintain simplicity, ease of use and speed. It was ultra slow years before, but nowadays every time I develop for Android I'd kill for having an xCode like realtime autocomplete and documentation. XCode it's extremely solid and you feel it every time you use it. Android Studio is build on Java, then it's slow and the UI is nowhere near as polished as Xcode. If I were Google I'd start coding my own IDE from zero ASAP.

<comment><USER18> Your comment tells me you haven't used Android Studio at all, and are making up attributes based on what you assume something written in Java must be.

I use Jetbrains IDEs and Xcode every day. Whenever I have to write any significant amount of code, I switch from Xcode to Appcode.

> I'd kill for having an xCode like realtime autocomplete and documentation

From my experience, this is true for Jetbrains IDEs, and not for Xcode, particularly for autocomplete. Xcode autocomplete is a pain, and sometimes gets in the way instead of being actually helpful.

<comment><USER17> I am sorry to disappoint you. I wrote a huge app in Java and in Kotlin. Months of develoments. xCode still years ahead of AS in every sense. Inheriting another company IDE is philosophically wrong, but that's the way Android and Google work. Maybe I love details too much.

<comment><USER19> So, given that IntelliJ IDEA has been in development for 14 years and XCode for 11, when would you expect Google to release a high-quality IDE if they started from scratch today?

</comment></comment></comment></comment></comment><comment><USER20> I've only learned to really appreciate Android Studio after I went back to Eclipse for a project, and felt the sharp drop in productivity.

Jetbrains sure know how to produce an awesome IDE.

<comment><USER21> This! Same with Zend Studio (based on Eclipse) vs Jetbrains PHP Storm, huge improvements in productivity due to more features and most of all faster speeds.

Somehow on Core I7, 26GB ram + SSD it still takes me less time to make a cup of coffee than for Eclipse to start up :(

I love Jetbrains tools!

<comment><USER14> As another poster mentioned, the latest eclipse version "Luna" is much faster and better than previous versions. It boots up faster than the beta versions of Android Studio.

<comment><USER22> I've been using Luna for a month, it's much faster at startup, they did a great job with Luna. Each version of Eclipse in the past 6 years has been improving.

</comment></comment></comment></comment><comment><USER23> I'm in 2 minds regarding Studio. On the one hand, I'm a whiz at Eclipse and Maven, and because time is so precious, I have no motivation to learn Gradle, and so I use the excellent android-maven-plugin[1]. (I'm also dependent when using Eclipse on the Emacs+ plugin for Emacs key bindings) When learning a new language / platform, I'm fine with learning its "standard" build tool, but with Android dev, I wish I could use Maven. I just can't emotionally bring myself to have to spend brain energy on yet another build tool chain for Java dev (I'm already juggling "build tool chain" knowledge for iOS dev and Clojure dev, just to name a couple).

On the other hand, I want to be using the best and latest tools, and stay up to date with what the broader Android dev community is doing.

Would love to hear from others with similar feelings...

[1] [https://code.google.com/p/maven-android- plugin/](https://code.google.com/p/maven-android-plugin/)

<comment><USER24> I too am satisfied with Eclipse for Android development. It does what I need and I'd like to stay with it for a while longer.

Android Studio is fanciful, I used it for months during the beta. There is one gotcha which leads me to prefer Eclipse. In Eclipse, the compile process is much more integrated with the IDE. The compile step appears to happen inside the IDE app/process tree/whatever. In JetBrains, the compile process is a separate process, much more disconnected from the IDE. Hence JetBrains takes more memory and is slower and running a project build and getting errors back into the IDE. I can appreciate an external build process being flexible for Jetbrains to use their IDE with nearly any language/compiler, but Eclipse worked much faster overall on a 4GB ram setup.

<comment><USER25> You're right. This is also a problem with Eclipse over the IntelliJ toolchain, in general.

Eclipse has it's own compiler and it uses that to build from within the IDE. Since this is not using Javac, it means that you might and very likely will not have equivalent binaries. Not specific to Android, but this also meant that when a new version of Java is released, IntelliJ can immediately take advantage, but you will be stuck waiting on Eclipse (and NetBeans).

Personally, I prefer the IntrlliJ approach since the IDE, javac on my workstation, and javac on the build server can output identical binaries, I trust the results even more so.

<comment><USER26> My understanding has always been that you can have Eclipse invoke an external build. However, if you use its compiler you do get quite a few niceties. Largest being that it can let you debug partially broken code. (You just can't call a method that was unable to compile.)

Also, if I am not mistaken, IDEA has its own compiler, as well. It just doesn't emit bytecode.

</comment></comment></comment></comment><comment><USER27> Their main Android Developer website, and their 'Getting Start' docs seem to have been updated for Android Studio, too, respectively.

[https://developer.android.com/sdk/index.html](https://developer.android.com/sdk/index.html)

[https://developer.android.com/training/index.html](https://developer.android.com/training/index.html)

Things are looking good for Android development, especially with regards to Firebase being acquired.

</comment><comment><USER28> Very interesting. I had been using development under Linux under Eclipse for a long time and found it alright, although recent moves to Mac OSX as the fulltime development system meant it felt awkward under OSX (and upgrades between Eclipse versions always broke something).

Anyway, having installed the JDK 8 u25 on Mac OSX, Android Studio wouldn't run. You need to export:

export STUDIO_JDK=/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk

Modify .bash_profile in your home directory to get that to stick.

<comment><USER11> Unfortunately the documentation isn't 100% worked out yet. They published a bunch today, but the post explaining that is buried in release notes for an RC build:

[http://tools.android.com/recent/androidstudio1rc3_releasecan...](http://tools.android.com/recent/androidstudio1rc3_releasecandidate3released)

<comment><USER28> You're right - that link you provide is far better. Modify the Info.plist within /Applications/Android Studio.app/Contents and modify the JVMOptions / JVMVersion string to read 1.8* instead of the default 1.6*.

Much better than the BASH profile thingy (which doesn't work without opening a terminal, obviously).

<comment><USER29> The above trick also works with Intellij proper. The only downside is you have to change it again after every update.

</comment></comment></comment></comment><comment><USER30> Android Studio has become a good, mature IDE. Having had to go back to Eclipse for my current project, the positive difference is vast once you get deeper into it. I still believe Eclipse is far superior on Windows than it is on Mac- the usability and scrolling performance is terrible on retina Mac.

This brings me to my most wanted feature in Android Studio - smooth native scrolling! Right now it scrolls lines-at-a-time rather than pixels-at-a-time, which is slightly annoying. Eclipse on Windows was very nice in this respect.

</comment><comment><USER31> Finally, all the languages for all localized strings in one big, massive table. For all us >10 languages polyglots out there.

</comment><comment><USER32> It's deeply disappointing to see Google moving to a proprietary IDE for Android. I've wasted time in the past learning proprietary development environments, and it's not a mistake I want to repeat — years of muscle memory and ecosystem knowledge down the drain when the IDE owner went out of business or didn't support the new platform I wanted to develop for — but it seems like now I have very little choice if I want to develop for Android. I mean, Eclipse will still work, at least unless Google breaks it, but it's falling by the wayside.

It's also alarming to me that nobody else here on Hacker News seems to be concerned about this.

I know Google isn't a free-software business like Red Hat, but they've benefited enormously from the work of the free software community, in particular in building Android, and they touted Android as being open. It was inspiring to see a really open phone platform birthed, but every month it seems like Android is less and less open. Supporting only a proprietary development toolchain is one more step toward the dark side.

<comment><USER33> How is it proprietary exactly?

Android Studio is open source:

[https://android.googlesource.com/platform/tools/adt/idea/](https://android.googlesource.com/platform/tools/adt/idea/)

There is certainly a commercial version which is not, but you don't have to use that and Google isn't shipping that version at last check.

<comment><USER32> ...I was wrong. Completely wrong. I thought IDEA was proprietary, because it used to be, but IDEA is free software now. Furthermore, if I had investigated that question for only a couple of minutes before posting, I would have known that. Thank you for taking the time to correct me.

I'm happy that the truth is much brighter than what I thought.

<comment><USER34> The Jetbrains guys are also extremely skilled at creating IDEs. Short of buying Jetbrains (which seems unnecessary unless Google wants to scale its tools team extremely aggressively and a bad things for other languages), I don't think Google could have made a better move.

</comment></comment></comment></comment><comment><USER35> How about support for NDK (C++ development) ? Does the Android Studio ships with support for C++ editing ?

<comment><USER36> Nothing at all.

Apparently Google is waiting that JetBrains eventually releases CLion.

It is anyone's guess when it will achieve parity with CDT.

<comment><USER37> This isn't entirely true... I'm using some, albeit trivial, NDK support by adding: android { ndk { moduleName "<some_module_name" stl "stlport_static" ldLibs "log" cFlags "\--std=c++11" } }

To my gradle file. I've set up a pretty simplistic JNI directory structure though. I can provide more info if this isn't enough as it's been awhile since I've set up a project from scratch.

<comment><USER36> That is very little. As you say, rather trivial.

I want native code debugging, refactoring, static code analysis (Codan like), code navigation.

<comment><USER38> And for that you can easily use pretty much any other editor/IDE that supports that. You don't HAVE to use only Google's tools you know?

<comment><USER36> Oh, I though Android was a Google's product!?!

</comment></comment></comment></comment></comment></comment><comment><USER39> Great to see Android Studio reaching 1.0 I'm also a happy user of IDEA CE 14 for Dart.

JetBrains et al really built an impressive IDE platform. I'm glad there are open source alternatives to Eclipse.

<comment><USER40> Wait, IntelliJ is open source?

<comment><USER41> Yes, it is. You can also get a version without "enterprise" features for free (called "Community Edition")

</comment></comment></comment><comment><USER42> I don't see any mention of NDK support. Has studio added that yet? Also, is ADT support going to continue? I really prefer eGit to whatever ships with studio.

<comment><USER11> Unfortunately it is not good.

 _The current NDK integration is a dead end, we don 't recommend using it, as we are working on a new version that use the native support in Gradle._

[https://code.google.com/p/android/issues/detail?id=73417](https://code.google.com/p/android/issues/detail?id=73417)

<comment><USER43> There too goes the new low audio latency updates they were raving about out the window. As far as I can tell the NDK is needed for doing any real-time audio processing as you're forced into using a large 4096 buffer in the Java API (testing in Lollipop...) :/

<comment><USER44> Yep. The entire rationale is that audio must be run on a thread which is never going to be GCed, and for that reason the low latency stuff only makes sense in the NDK.

</comment></comment></comment></comment><comment><USER45> I realise this is subjective but how hard have people found converting over to Android Studio for someone used to Eclipse? I was taught to use Eclipse in university and having been using it full time at my job for the last couple of months so its workflow is quite ingrained in me.

<comment><USER11> 'A couple of months' isn't a big investment in my opinion. I used Eclipse for ~8 years, including writing plugins for it. I switched to IntelliJ about 18 months ago. I'm probably still not 100% as familiar with IntelliJ as I was with Eclipse. I'm still far more productive.

<comment><USER45> Sorry, should have been clearer, couple of months in my job and past 4 years at university.

Glad to hear though, I'll try it for my next android project.

<comment><USER46> If you are doing traditional app development then Android Studio is by far the superior choice. The gradle integrations make everything one liners without having to manage a ton of random plugins or master a build system. It just works.

Also, not to belittle your investment in Eclipse, but counting university is laughable and unless you're a maestro and use some random plugins that make you a 10x developer you're probably better off switching.

As others have mentioned you can change your keymap to Eclipse, or just learn new ones. Hell, I only know 4 keystrokes: autocomplete, find class by name/click, rename variable/method, and reformat code. Yet somehow I am successful -- I doubt it's my IDE. It's just effortless and I don't have to deal with stupid build crap while writing code. Granted, I don't know much about modern Eclipse, I haven't used it for two years.

If it weren't too much effort I'd be writing java in vim where I have almost 8 years experience, but I haven't gotten around to bothering because my environment is not the bottleneck to writing good code. It's probably more the crappy Android APIs and unexpected behaviors of standard libs that will unlikely be timely fixed.

</comment></comment></comment></comment><comment><USER47> My first thought was "oh PLEASE, let them keep distributing the CLI-only SDK".

Why?

Because I got burned by Eclipse so many times I got used to developing solely with vim and ant - then I started using NetBeans+NBAndroid and found it comfortable enough.

Still, now that it's 1.0 I'll eventually migrate.

<comment><USER38> Um... now that Gradle is the default build system used, you can build any (AS- created) project in command-line by default. You can also easily create new one (you just need a skeleton build.gradle).

</comment></comment><comment><USER48> Glad to see this reach final. Have been using it since the first alpha release at I/O 13 and it's been getting better and better.

</comment><comment><USER49> Has there been any word about their Android Go project? Would be awesome now that they are updating all their development tools.

</comment><comment><USER50> Does anyone know if I can customize the IntelliJ with plugins to be _exactly_ equal to Android Studio? Is this possible?

</comment><comment><USER51> I switched to Android Studio just a couple months ago and the main deficiency I've found compared to Eclipse is that it doesn't auto-build the project on every change so you can immediately see all breakage. I'm constantly hitting "Rebuild Project" because someone decided it couldn't be done for me.

As for advantages over Eclipse, they've been minor. No real big improvements except the automatic dependency management of Gradle.

The reason for the giant effort to switch the entire ecosystem over is a bit mysterious to me.

<comment><USER5> Yes, lack of auto-build, plus no problems view!

However, i've found that i do not notice that so much and get much more benefit from gradle then ant. Also, the project structure has ended up being alot cleaner and easier to navigate for me. Plus, I like all the slick IntelliJ style features.

As for the giant effort to switch? I'd say gradle is a big one.

<comment><USER52> View > Tool Windows > Problems gets you a problems view.

<comment><USER51> Doesn't exist.

</comment></comment></comment></comment><comment><USER53> Can these features be added to a vanilla Intelij install? What will happen to the existing Android plugin?

<comment><USER11> They are added back to IntelliJ. It is sort of a weird development process. Android Studio is a fork of IntelliJ, so it always runs a bit behind. At the moment Studio is branched off IntelliJ 13.3, not 14. Meanwhile, IntelliJ pulls in the Android Studio stuff into their plugin a bit after Studio releases it.

If you want the latest and greatest IntelliJ features, use IntelliJ + Android Plugin. If you want the latest and greatest Android specific features, use Android Studio.

If you have a paid license of IntelliJ, you are probably better off with IntelliJ + Android plugin.

</comment></comment><comment><USER54> as someone who uses gradle everyday I cant express my disappointment enough. I cant think of any greater dev friction th an the incredibly slow gradle builds I deal with daily - not to mention the langue. its like someone wanted to redesign javascript poorly.

</comment><comment><USER55> How do you delete a project?

Why do they make it SO HARD to even delete a project?

[http://stackoverflow.com/questions/16710290/how-to- delete-a-...](http://stackoverflow.com/questions/16710290/how-to-delete-a- module-in-android-studio)

<comment><USER56> To delete a project you simply delete the directory using your OS file manager. This is not a common operation and your file manager likely has options for undo and such that are OS specific.

<comment><USER22> It doesn't have simple project management?

</comment></comment></comment><comment> V-2 I've been using it almost since day one, and professionally too. The frustrating thing was compatibility breaking, mostly associated with Gradle. Every second upgrade, I had to spend a while getting my project to build again. Yes, I'm new to Gradle. I only learned the required minimum, I should get to know it in-depth. But I have work to do in meantime. Fortunately, this integration is constantly improving.

<comment><USER38> Yes, that was annoying - but I guess that was the legacy of actually being a pre-release version (0.x versions).

Tools team promised that compatibility breaking changes will stop after 1.0 until other major revisions. Let's hope that holds up :)

</comment></comment><comment><USER57> I've been using Android Studio for a while now, and greatly prefer it over Eclipse ADT (being phased out anyway, and thankfully so) but I've had a lot of trouble getting my projects from earlier versions of Android Studio up to date - it's always a form of a gradle incompatibility; Android Studio is great when it works, but it's been a rocky path to 1.0.

<comment><USER58> When they can go a major version without seeing a bunch of Gradle changes in the patch notes, that's when I'll upgrade my project from Ant.

</comment></comment><comment><USER59> How does this compare to the combo of C# + Visual Studio (which seems to be the target market here)?

Eclipse + Java has always been a non-intuitive headache for me - will this IDE support Python? Has Google made Python a first-class language yet in their stack?

Inquisitive minds would like to know.

<comment><USER59> Why is that mentioning C# in an Apple thread is A-okay but mentioning in a Google related post is a deathnell?

If you people think the target market for this is just Eclipse and Android developers then you have not been paying attention to the larger picture of cross-platform stacks.

It even has the word Studio in the name for crying out loud.

<comment><USER60> Android Studio is customized very specifically for Android development, not a general purpose IDE. Even the New Project dialog will not let you continue without selecting the target Android form factor.

You're being downvoted because your comment reads as being off-topic and/or uninformed (especially with the Python mention). If by Visual Studio and C# you were referring to Xamarin or Mono for Android it would have been clearer if you mentioned that. It would be helpful if you also mentioned why you feel Android Studio targets developers who use those technology instead of the larger pool of Android developers in general. I don't think there's a bias against those technologies here, only against poor comments.

</comment></comment></comment><comment><USER61> OK that's cool it's based o IntelliJ IDEA. Now only if Google comes up with a faster emulator it will help many of us to take Android seriously. Seriously I can't wait light years to test my _Hello World_ script.

<comment><USER62> Isn't light years a unit of distance?

<comment><USER61> Yes distance from my Laptop to Kitchen. More it takes time to load Emulator more I stay in kitchen to eat stuff.

<comment><USER63> The only thing Genymotion basically does is use a host-native image x86 based android image, rather than the actual emulated device image, typically ARM as the android emulator would do by default (for some reason).

If you use the android emulator with the x86 android image (on a HAXM capable CPU), then it runs fine. iOS has always used a simulator.

</comment></comment></comment></comment><comment><USER64> Is Google planning to release a 2d graphics library like SpriteKit but for Android?

<comment><USER65> Try LibGDX

</comment></comment><comment><USER66> android studio is really good. but gradle is annoying me. every gradle-build project force me to download a new gradle-wrapper. I install the newest gralde in my OS, but it can not be use repeatedly

</comment><comment><USER67> Emacs and command line tools still for the win!

<comment><USER68> Have any good setup tips?

<comment><USER67> Sorry to disappoint, except for setting C bracing style to "bsd", I don't really do anything to set up Emacs for Java code. Unlike crawling horrors like J2EE, the Android API is quite manageable without a whole lot of IDE support, especially if you've been coding in it a while.

</comment></comment></comment><comment><USER69> Should I get this or just keep using Intellj?

<comment><USER19> The majority of new features developed by the Android Studio team are integrated into IntelliJ, so if you're already using IntelliJ version 14, there is no big advantage to switching to Android Studio.

<comment> V-2 Android Studio is free.

<comment><USER69> As Intellij community edition.

</comment></comment></comment></comment><comment><USER70> hopefully they improved resiliency. my first experience with android studio beta was: 1. create one project and close it 2. edit single file outside. 3. reopen project on android studio and watch it go down in flames.

</comment><comment><USER71> Finally making the switch from Eclipse to IntelliJ

</comment><comment><USER72> Late 2014, a single-target-OS IDE is released - makes me chuckle :).

</comment><comment><USER73> I`m using.

</comment><comment><USER74> Call me when I can develop android apps from within an android device.

<comment><USER75> [https://play.google.com/store/apps/details?id=com.aide.ui](https://play.google.com/store/apps/details?id=com.aide.ui)</comment></comment>


Show HN: Genius Annotations Button – Inspired by GitHubButtons - <AUTHOR> https://www.geniusbtn.com

<comment><USER2> Why are you linking to a ProductHunt article?

<comment><AUTHOR> It was the original launch, and I used it for testing.

I was too lazy to change it.</comment></comment>


JavaScript-this a little utility to edit any text using JavaScript - <AUTHOR> https://github.com/idobh2/node-js-this <comment><USER2> Interesting. What do you use it for in your daily work?

<comment><AUTHOR> Usually when I need to edit JSONs, or textual lists, and need more than a simple regex search-replace. Found myself copying text to chrome devtools console way too much :)</comment></comment>


Battle Over Genome Editing Gets Science All Wrong - <AUTHOR> http://www.wired.com/2015/10/battle-genome-editing-gets-science-wrong/ <comment><USER2> Feng Zhang's claiming that he came up with the idea independently is seems like emerging from the lust of dollar. In the field of science, no one even able to achieve anything on his own. There were always someone else's previous work coming handy.</comment>


What's Hiding in Your PDF? - <AUTHOR> https://pspdfkit.com/blog/2018/whats-hiding-in-your-pdf/ <comment><USER2> Earlier this year I was working on hybrid PDFs[1] that embed a full XML invoice. Standardized and promoted by the German and French.[2] One more thing to hide.

1: [https://github.com/invoice-x/factur-x- ng](https://github.com/invoice-x/factur-x-ng) 2: [http://fnfe- mpe.org/factur-x/factur-x_en/](http://fnfe-mpe.org/factur-x/factur-x_en/)

<comment><USER3> Is the PDF rendered from the XML? If not that sounds mad.

<comment><USER4> Mad how? PDF is a notoriously bad format to extract data from, but great for visually representing the data to humans. XML is human unfriendly but good for structuring data so that software can read it. Embedding the machine readable XML representation of the data in the PDF ensures that both representations of the data are available always.

<comment><USER5> I think OP is concerned about conflicting data - the visual representation may not match the XML data.

<comment><USER6> Given that it's possible to have javascript in a PDF as well, it wouldn't be too hard to have a bit of code that verifies the XML matches the human- readable version. Or, failing that, some sort of crypto signature to check both to see things haven't been tampered with.

<comment><USER7> As far as I can tell the standard prohibits PDF files with any dynamic content, including javascript. Also there is no point in embedding the verification code in the PDF if you don't trust its contents.

</comment></comment></comment></comment></comment></comment><comment><USER8> The vector drawing program Ipe stores all its data in a PDF. So, you create a drawing, save it as a PDF and can later open the PDF again for editing. Text can be written in LaTeX format and the PDF will contain the LaTeX source for later editing.

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

<comment><USER9> Illustrator has been doing this for a long time. You can choose to "preserve editing capabilities" at save time. I assume it is similar for other vector drawing programs.

</comment></comment><comment><USER10> PDFs can also have file attachments.

[https://helpx.adobe.com/acrobat/using/links-attachments- pdfs...](https://helpx.adobe.com/acrobat/using/links-attachments-pdfs.html)

The official documentation also seems to recognize those as a security risk :)

[https://helpx.adobe.com/acrobat/using/attachments- security-r...](https://helpx.adobe.com/acrobat/using/attachments-security- risks-reader-acrobat.html)

</comment><comment><USER11> This French startup claims it is able to run some Javascript in the PDF, therefore notify you when a customer reads your offer, tell you which part he read, where he stayed the longest, etc. Does PDF support JS?

[https://www.tilkee.com/](https://www.tilkee.com/)

<comment><USER12> Yup. If you open this PDF in Chrome, you can even play Breakout:

[https://rawgit.com/osnr/horrifying-pdf- experiments/master/br...](https://rawgit.com/osnr/horrifying-pdf- experiments/master/breakout.pdf)

<comment><USER13> That's creepy and makes me glad I don't use Chrome (doesn't work in Firefox).

</comment></comment></comment><comment><USER14> Academic publishers also insert IP addresses and other deanonymizing information (about the user) into PDFs of academic papers, which should be removed.

[https://github.com/kanzure/pdfparanoia](https://github.com/kanzure/pdfparanoia)

</comment><comment><USER15> I've been doing a TON of work around PDF lately with my Polar project and wanted get feedback from you guys:

[https://getpolarized.io/](https://getpolarized.io/)

I just implemented bulk PDF import this weekend.

It uses pdf.js for the rendering of the PDFs and extracting the metadata (including the fields discussed in this article)..

I have to manage a ton of PDFs for my work / research. Mostly textbooks and compsci whitepapers) and and before working on Polar I was really struggling to manage all the data.

</comment><comment><USER16> You can create a Hybrid PDF in LibreOffice. It's a PDF with ODF embedded.

[https://wiki.documentfoundation.org/Faq/Writer/PDF_Hybrid](https://wiki.documentfoundation.org/Faq/Writer/PDF_Hybrid)

</comment><comment><USER17> there are some great pdf's on the _PoC||GTFO_ site that go deep into the subject :) [https://www.alchemistowl.org/pocorgtfo/](https://www.alchemistowl.org/pocorgtfo/)

</comment><comment><USER18> Sort of related, the company whose website this blog post is on makes the best Android PDF reader, and it's free: [https://play.google.com/store/apps/details?id=com.pspdfkit.v...](https://play.google.com/store/apps/details?id=com.pspdfkit.viewer)

(Disclaimer: I am not associated with the company)

<comment><USER19> From the Permissions disclosure:

      >full network access
      >run at startup
      >prevent device from sleeping

Guess is they're selling user's PDF reading activity data.

<comment><USER20> PSPDFKit CTO here. We're not selling any user data, PDF Viewer exists because we sell an SDK and having a great app in the store makes it 1) easy to showcase the SDK to potential customers and 2) gives us a broad user base that tests the SDK and gives feedback for free.

<comment><USER19> Misbehavior by other apps makes such permissions a red flag to some of us.

Prime offender: Amazon Music. Latest rev AFAICT has no "Quit". Have to resort to Settings->Apps->Force_Stop to get its clutter off the screen.

</comment></comment></comment></comment><comment><USER21> Are there any command-line tools that will let you see and/or edit all this metadata?

<comment><USER22> You can check out [http://pdfedit.cz/en/index.html](http://pdfedit.cz/en/index.html) (no longer updated)

<comment><USER23> This is really old and unmaintained, it also has a x-window type UI that takes you back to 1997.

I have found that despite the crude nature of it there are things you can find in documents that other tools gloss over.

Genuine thanks for the link and the nudge - I have to go forensic on a few PDFs and I had forgot what the tool was as it has been a while.

Luckily the PDFs I need to edit are old and there should be no problem doing apt-get install rather than compiling a tarball.

<comment><USER22> Yup...not easy finding a free tool that will "decompile" a pdf. Too bad it's unmaintained :-(

[http://pdfedit.cz/screenshots/screenshot1.jpg](http://pdfedit.cz/screenshots/screenshot1.jpg)

[http://pdfedit.cz/screenshots/screenshot2.jpg](http://pdfedit.cz/screenshots/screenshot2.jpg)

[http://pdfedit.cz/screenshots/screenshot3.jpg](http://pdfedit.cz/screenshots/screenshot3.jpg)

<comment><USER24> Didier Stevens has some great cli tools

[https://blog.didierstevens.com/programs/pdf- tools/](https://blog.didierstevens.com/programs/pdf-tools/)

<comment><USER22> [https://github.com/pdfminer/pdfminer.six](https://github.com/pdfminer/pdfminer.six) is also useful

<comment><USER24> Awesome, thank you!

</comment></comment></comment></comment></comment></comment></comment><comment><USER25> CodeDraw, my live-code-drawing + GraphViz tool stores its source in the PDF. Also found a place to stash it in PNGs.

But you can treat a PDF very much like a big zip with some special purpose features. If you want to.

</comment><comment><USER26> Well. Even files can be attached to pdfs, in few case normally as a "pdf source" in reproducible research... But well... We have pdftk and other simple utilities to manage pdfs metainformation... Also it's common to embed other kind of "steganographic" information that's maybe really hard to discover, the simpler are like "dot printers", simple white-on-white etc content in plain pdf that can be read easily by a bot, other may use single pdf's content with a Caesar-like cipher etc.

Pdf are a vast and not-so-clean world...

</comment><comment><USER27> Meanwhile most academic authors don't make any effort to add metadata that would actually be useful. I can't count how many pdfs I have called things like '0378final.pdf' with none of the fields like Author or Title filled in.

</comment><comment><USER28> I built a PDF template designer, but overlooked the metadata side of things. Might have to look into it after reading this.

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

</comment><comment><USER13> I had to deal with PDF metadata for work and it's a deep rabbit hole. Lots of standardization headaches, too, especially when combined with PDF/A and such.

</comment><comment><USER29> It's a shame XPS never took off, it is superior to PDF in nearly every way but obviously failed in the market.

</comment><comment><USER30> I assume mobile devices are relatively immune to most of the scary aspects of what can be hiding in PDFs, is that correct?

<comment><USER31> Mobile PDF tools won't strip all the metadata and comments out but almost every PDF reader not from adobe or chrome ignores all the dumb parts of PDF like running js, having network access or restricting you from printing without a password.</comment></comment>