Learn Ethereum smart contract programming - <AUTHOR> https://ethereumdev.io/ <comment><USER3> The sad reality of Ethereum: 1\. Bitcoin is slow and expensive, Ethereum is the future 2\. Ethereum software has security hole, gets hacked 3\. Ethereum fans say it's an experiment there are lots of things that will transform Ethereum (Casper/PoS, Raiden, zkSNARKs, Enterprise Alliance) 4\. Low price getting pumped by Ethereum Foundation & big-holder affiliates 5\. Back to #1

We've seen it happen again (DAO) and again (Parity) and it will keep happening, because it's broken by design. 90s cypherpunks that pioneered this ideas had considered Turing complete design and discarded it for cryptographic state-machines that allow for formal verification.

I appreciate the experimentation, but the takeover-the-world echo-chambers of ethereum that don't focus at all on the real tech behind it and ignore everything negative is pretty disappointing. Especially because we keep getting new people buying this and becoming the greater fools.

When talking about engineering on such a critical subject, people should be way more responsible. If Bitcoin had the same attitude regarding security like Ethereum does, we wouldn't be here and cryptocurrencies would be a joke.

Lazy engineering comes at great cost as time goes by and the illusion of security is unveiled.

<comment><USER4> > 2\. Ethereum software has security hole, gets hacked

The last time this was discussed on Hacker News, I found this comment particularly instructive: [https://news.ycombinator.com/item?id=14810008](https://news.ycombinator.com/item?id=14810008)

It points out a great many fundamental issues with the Solidity contract language. Basically, the language design sounds extremely amateurish and it appears to have ignored everything we've learned about security in the last 30 years. Samples:

\- "Operators have different semantics depending on whether the operands are literals or not. For example, 1/2 is 0.5, but x/y for x==1 and y==2 is 0."

\- "All state is mutable by default (this includes struct fields, array elements, and locals). Functions can mutate state by default"

\- "Order of evaluation is not defined for expressions. This in a language that has value-returning mutating operators like ++!"

I wouldn't trust a Solidity smart contract with $100.

<comment><USER5> Does Solidity really matter, though? "How's the VM" is the real question. I haven't spent more then 10 minutes looking into it, but it seemed reasonable to me. No heap and 256(?)-bit addressing seem like good ideas to keep execution complexity down.

<comment><USER6> The VM is also fucked (or, at least it was in the recent past) because it turns out that their semantics are a mess. For example, exception handling is either implicit or explicit depending on how a method is invoked!

[https://eprint.iacr.org/2016/633](https://eprint.iacr.org/2016/633)

</comment></comment></comment></comment><comment><USER7> The problem I see with Ethereum is that it is way too complex. I have read perhaps at least 10 times on their home page without even understanding what it does, what problems it solves etc.

This is the sole reason why I don't think it will be successful in it's current state. With most successful tech or services or whatever the core idea is often super simple to grasp and you can instantly see the benefit. I don't see this with Ethereum.

Even with bitcoin which is complex the benefits are instantaneous for the common man. Decentralized system, no single entity controls it. It is a fixed amount of bitcoins so like a mineral it's value is probably going to be stable in the long run and also each bitcoin will increase in value when more people get interested. It's easy to send coins to anyone in the world, at any time.

What does Ethereum do? Smart contracts is probably the key word but I don't understand how it works or how it will benefit me. Why bother?

<comment><USER8> Ethereum reminds me of what happened to the web: the desire to add code. The blockchain by itself wasn't good enough so Ethereum added code to it, just like HTML wasn't good enough so people added applets, Flash, and JavaScript.

I understand why they would want to do this but I think it gets the priorities wrong. It prioritizes features and functionality over security and reliability. Given how hostile the Internet has become I think this is a mistake.

My guess is that Ethereum is only a couple of scandals away from being perceived as a fundamentally insecure platform. Bitcoin has its own problems and it may not survive either. Perhaps another cryoto currency can learn from the mistakes of both and deliver something better?

<comment><USER9> Bitcoin has code. The language is called Script. It lacks loops, however.

<comment><USER10> Dealing with the legwork around programming bitcoin script will always be at least 10x more complex than whatever it was that you wanted to program.

</comment></comment></comment></comment><comment><USER11> If you are considering writing a smart contract, you should read this first [https://github.com/ConsenSys/smart-contract-best- practices](https://github.com/ConsenSys/smart-contract-best-practices) for Solidity security pitfalls, and hopefully have some idea of invariants/contracts to verify expected properties of your smart contract [https://www.cs.cmu.edu/~rjsimmon/15122-s16/lec/01-contracts....](https://www.cs.cmu.edu/~rjsimmon/15122-s16/lec/01-contracts.pdf) and additionally hope the EVM doesn't have unexpected behavior.

Anybody know if the legality of exploiting leaky smart contracts has been tested? Since a lawyer can exploit a badly written contract I wonder if somebody who finds a flaw in a smart contract can legally just jack all the coins or alternatively, write purposely obfuscated contracts (underhanded Solidity contest) to run a scam.

<comment><USER12> > I wonder if somebody who finds a flaw in a smart contract can legally just > jack all the coins

One way to interpret this legally is to assume that smart contracts are in fact enforceable legal contracts. (Most promises about exchanging stuff are enforceable legal contracts, so this is plausible.) The general first-year- contracts answer is then that it depends on the expressed intent of the parties.

Take two extreme examples:

(1) I put an ether bounty in a smart contract and say anyone who can exploit the contract can have it. Definitely legal to exploit (and I can be held to the promise).

(2) I hire you to review my smart contract for exploitable flaws, and instead you exploit the flaws. Definite breach of contract.

The real situation is neither of those, but you can see how expressed intent matters.

So the question is what's the actual expressed exchange of promises between the parties to a given smart contract? And here I think some of the code-is- contract statements around Etherium tilt things toward my (1) example - <USER2> text advertisements for the DAO have a bunch of stuff to set the expectation that whatever the code says, goes. But that would be up for debate in court.

(And then there's lots of non-contract ways to slice this, from computer fraud to gambling law to securities law to...)

</comment></comment><comment><USER13> I didn't have high expectations for Solidity considering the recent vulnerabilities, but even these were disappointed. If some guy writes this kind of code at home, alright, but this as the alleged foundation for our future financial system? Frightening.

Just one example: "Our function EndLottery() must be only accessible by the owner of the lottery." [0]

function EndLottery() public { if (msg.sender == owner) { ... } }

What about code guards? Not to speak of decent typing, etc. etc.

[0] [https://ethereumdev.io/managing-multiple-users-a-simple- lott...](https://ethereumdev.io/managing-multiple-users-a-simple-lottery/)

<comment><USER14> I understand the eth VM is pretty limited and limiting, but Solidity is just sad, it's like somebody saw Javascript and thought "ok that's a pretty terrible basis for writing contracts, but surely we can make it _even worse_?"

And then they succeeded at failing.

<comment><USER15> Can't remember where I read it, but someone put it best during the DAO fiasco last year when they wrote "Imagine Javascript but your bank account accessible through the Document Object Model."

<comment><USER14> Even that's only scratching the surface of how awful Solidity is. An example of _minor security detail_ straight from the documentation is this:

        for(var i=0; i<arr.length; ++i) {

Solidity is a "statically typed language" with "type inference". In most of _these_ , you'd expect i to be typed as whatever the type of arr.length is, but Solidity does not care, it sees `var i = 0`, 0 fits into a uint8 so a uint8 i is, it'll get promoted during the comparison and if arr has more than 255 elements it'll overflow and the loop is infinite.

</comment></comment></comment></comment><comment><USER16> Maybe it's because I don't have a use for it yet, or at least don't know if I have a use for it. But, the whole Ethereum universe seems vague and seems like they could explain it more than they do. "Install Ethereum wallet, write a contract, ..., Profit!" ?? Is there a better source that might explain what it is, how it works (a glancing explanation not a full network inner workings)??

<comment><USER17> I Am Not An Expert.

If I understand correctly, these are a way to automate the _execution_ of the financial part of normal contracts without the need for undue trust between parties. Some simple examples that might help (and I invite correction):

• I and a few investors agree to buy into an enterprise in several installments. A contract can be written to the blockchain that automates these payments. Should a majority of the investors decide to withdraw support, the payments will cease, but while more than 50% wish to continue support, everyone will continue.

• I have an enterprise that I am highly confident will generate profit. I can establish a smart contact that guarantees my investors a minimum ROI at specific intervals; should the balance fail to grow by the agreed margin, all investors will instead be refunded (in full or part) based on a scheme agreed _a priori_ to be fair — say, a function of shares owned for how long.

• I and several other Ethereum miners agree to develop a scheme built on top of Ethereum for, say, a specific method of interoperability between the Ethereum blockchain and traditional futures markets. We have a specific idea for this, but agree we need to ensure that there is momentum in the project, and want those participating to have 'skin in the game'. We build a tontine such that all of us invest a non-trivial amount, and any investor becomes ineligible for payout if their hash power abandons the protocol. If this falls below a certain threshold, remaining investors can vote to continue or divide the pot and abandon the project.

<comment><USER18> The problem with your first two examples is that the 'investment' locked up in the smart contract can't be spent, which means the investors are not bearing any risk, and therefore cannot enjoy a return. If the money could be spent on capital and operating expenses, then the smart contract wouldn't be able to refund it if the conditions of the investment failed.

It is possible to create a smart contract, like the DAO, which implements the rules of a joint stock company. But stockholders are not concerned about the risk that these rules will be broken. The risk is that the company fails and there is nothing to distribute according to the rules. Replacing the general meeting of stockholders with a smart contract doesn't change the economics of collective investment – it just adds the risk of losing everything to a bug in the contract.

</comment></comment></comment><comment><USER19> Does this not seem like the kind of area where you don't want people writing hacky, proof of concept code?

The idea of people coding up weekend projects on Ethereum, putting them behind flashy websites and encouraging large scale adoption terrifies me, to be honest.

<comment><AUTHOR> As the technology evolves you need more and more people fluent. Most people will never write live code involving million of dollars but it might help people understanding the techno and the code behind... This is an introduction and as more and more article will be written the learners will be more skilled and aware of security and good practices

</comment></comment><comment><USER20> Programmable smart contracts are a great idea in a world where programmers write bug free code. That world does not exist yet. Until we have near-perfect code writing AIs every new smart contract is just a disaster waiting to happen.

<comment><USER21> That's like saying legal contracts are a disaster because we do not live in an ideal world where lawyers don't do mistakes, and there are no legal loopholes.

Granted, bugs are much more common than legal loopholes, but in the same way an operating system's APIs and constraints are tested until it becomes reliable enough for other people to rely on it, I can see some standard types of contracts (in the same way as in the traditional legal system) becoming recognized for their robustness and used for common operations.

<comment><USER22> I think I'm going to end up pasting this link in all discussions surrounding Ethereum: [https://en.wikipedia.org/wiki/Letter_and_spirit_of_the_law](https://en.wikipedia.org/wiki/Letter_and_spirit_of_the_law)

>When one obeys the letter of the law but not the spirit, one is obeying the literal interpretation of the words (the "letter") of the law, but not necessarily the intent of those who wrote the law. Conversely, when one obeys the spirit of the law but not the letter, one is doing what the authors of the law intended, though not necessarily adhering to the literal wording.

This is a very ancient concept and like all ancient concepts it's bound to be rediscovered every other decade on average.

"The code is law" is a wet dream for a dystopic authoritarian state and I don't understand why anybody, much less actual coders, would think that's a good idea.

"Thank you for subscribing to our contract for your $2 weekly subscription. By the way through a clever loophole obfuscated in our code the amount actually doubles every week. Freedom is Slavery, Ignorance is Strength, Code is Law. Have a good day sir".

In the real world you have a safety net for these types of things, in many case you can break an abusive contract because society has created regulations that ban certain tactics. Ethereum has no such thing. A single mistake or intentional deception and like that, you've lost all your money. The code is law, nothing we can do sir. How is that a feature exactly?

Look at how dumb the average spam is, and yet there's no shortage of people falling for them. Yet it seems like the ethereum crowd genuinely believes that my mother is suddenly going to be able to proof Solidity scripts, something I wouldn't even trust myself to do with decades of programming experience behind me. I don't know if Ethereum is an economic bubble but it definitely is an intellectual one.

<comment><USER23> > "The code is law" is a wet dream for a dystopic authoritarian state and I > don't understand why anybody, much less actual coders, would think that's a > good idea.

How is that dystopic and authoritarian? Looks like you're throwing a bunch of buzz words for shock value with little argument to back it up. We already trust code as contract everyday every time you make a payment through SSL (anyone who lived through the 90's and early 2000's remembers how people were scared to death of online payment security and now it happens every millisecond). Ethereum is just a distributed version of that with no middle man, that is to say it can fail like SSL can when compromised but it doesn't mean we should throw it out the window just because it could sometimes fail. By that logic we should still be cavemen and forget about any technology ever.

> "Thank you for subscribing to our contract for your $2 weekly subscription. > By the way through a clever loophole obfuscated in our code the amount > actually doubles every week. "

I hope you're aware that the exact same thing happened with these indexed loans where people weren't aware that interests could fluctuate with time, right?

<comment><USER22> I gave some examples (that you quickly dismissed). Having a recourse through an other, hopefully compassionate and empathetic human being is not something I'm willing to give up on. If things go awry to the point where I could go bankrupt because of a small lapse in judgment I want to have recourses. That's why we have we have consumer laws. That's why we have the notion of abusive contracts.

SSL is hardly related. It's just a mean to secure a transaction and that's it. There's no contract involved. It's a tunnel for some data. A more apt comparison would be to say that I trust, say, Amazon's website to do the right thing when I give them my credit card infos. But the truth is that I don't even trust them that much, if they abuse it or get compromised I'll just notify my bank (if they don't notice it before I do) and I'm good to go.

If I buy a laptop on amazon and they sneakily bill me for two tons of whole grain rice flour and when I complain they said "but it was in the terms and conditions", do you think it would hold up in court?

>I hope you're aware that the exact same thing happened with these indexed loans where people weren't aware that interests could fluctuate with time, right?

Ah, and it's clearly something we aim to emulate, right?

If anything that's a very good example about how the average person can be tricked into accepting a terrible contract if they don't know any better. Do you think it would've worked better if the loan was expressed in Solidity code?

<comment><USER23> > hopefully compassionate and empathetic human

Hopefully after said compassionate human had their lunch break.

[http://blogs.discovermagazine.com/notrocketscience/2011/04/1...](http://blogs.discovermagazine.com/notrocketscience/2011/04/11/justice- is-served-but-more-so-after-lunch-how-food-breaks-sway-the-decisions-of- judges/#.WXYcztOGMcg)

> That's why we have we have consumer laws. That's why we have the notion of > abusive contracts.

That could still exist with Ethereum.

> SSL is hardly related. It's just a mean to secure a transaction and that's > it.

Your browser's code trust the code on the server hosting the SSL cert and authority server. So, it's just code involved here.

> If I buy a laptop on amazon and they sneakily bill me for two tons of whole > grain rice flour and when I complain they said "but it was in the terms and > conditions", do you think it would hold up in court

Again, you could also sue someone for tricking you into a bad ethereum contract and it would not hold in court either. Not sure what your point is here.

> Ah, and it's clearly something we aim to emulate, right?

No it is not, my point is that bad things happen no matter who's involved (humans or code) and just because some bad things may happen doesn't mean we should stop using it, but we should go with the most efficient and secure one, which for now is probably humans of course. See also plane crashes.

<comment><USER22> >Your browser's code trust the code on the server hosting the SSL cert and authority server. So, it's just code involved here.

Yes, but "there" is only a small part of the full story. When I make a payment over SSL I don't make an immutable, untraceable and irreversible transaction. In order to be able to receive the payment the other party has to register with a bank and other legal entities etc... Putting money to an ethereum contract is closer to sending cash in an envelope to some PO box in a foreign country. Good luck getting it back if something goes wrong.

>Hopefully after said compassionate human had their lunch break.

Humans make mistakes, humans are unreliable. That's why we have a bunch of checks and balances in any decent justice systems to avoid miscarriages of justice. They're still possible, doesn't mean that the right solution is to get rid of it altogether.

>Again, you could also sue someone for tricking you into a bad ethereum contract and it would not hold in court either. Not sure what your point is here.

So code isn't law, law is law? I think my point is perfectly clear, you just keep moving the goalpost. My point is that those "smart" contracts are great for thieves but of dubious values

Regardless, do you think those people whose wallet was compromised because of the faulty contract will manage to get their money back? Who are they suing, the thieves? The wallet company who wrote the faulty contract? How you do get the money back? Can you freeze the account? Reverse the transactions? Blacklist the coins? The whole cryptocurrency system is _designed_ to make those things impractical, if not downright impossible.

Again, great for thieves and black market sellers but if I just want to buy a laptop on amazon why would I ever bother with this? What's the use case?

<comment><USER23> > In order to be able to receive the payment the other party has to register > with a bank and other legal entities etc... Putting money to an ethereum > contract is closer to sending cash in an envelope to some PO box in a > foreign country

This shows either little understanding of smart contracts or little imagination. Retailers could make each of their sells contract a 3 party multi-sig contract where the three parties would be you, the retailer and your bank and if you complain to your bank and your bank accepts your request after reviewing the retailer's claim then the money would go back to your account. There could also be other legal entities in the multi-sig contracts such as insurances or others.

> My point is that those "smart" contracts are great for thieves but of > dubious values

See my previous point and why this is not correct.

> Regardless, do you think those people whose wallet was compromised because > of the faulty contract will manage to get their money back? Who are they > suing, the thieves? The wallet company who wrote the faulty contract? How > you do get the money back? Can you freeze the account? Reverse the > transactions? Blacklist the coins? The whole cryptocurrency system is > designed to make those things impractical, if not downright impossible.

They won't get their money back because they didn't pay for an insurance. Coinbase for example guaranties US$ 100k in case of theft. If Ethereum becomes a thing, there would be a whole market of insurances offering what Visa or Coinbase or your local bank offers today.

Last but not least, you're getting robbed every day with fiat money with inflation policies, only you don't see it but it is happening. Inflation lowers the value of your fiat money and that's like robbing you a part of your money without your consent. And you pay a fee for that insurance you mention every time you use your credit card, so not free either and again, any ethereum or bitcoin provider could offer the same insurance for a fee (and coinbase already does to some extend).

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> The problem with crypto coins is some have bought in and thus are vested making balanced discussion impossible. We see even with something as trivial as choice of programming language some can become very religious in their support. When money becomes involved expecting rational discussion is perhaps naive.

Money is a social construct that needs societal consent and a framework to manage it that is accountable to the societies rules and regulations. So a random person can't just create money or value out of thin air. There is no value being created here.

They can make a private coin, and convince others to use it between themselves, there were and still exist many such private arrangements in traditional economies, but the value only exists for those who choose to trust this system, and can never hope to replace the main economic currency.

Bitcoin and other coins exists in this space of a private coin based on mutual trust and of no real value to the main economy. Holders of such coins would of course love for it to become a real currency and continue making outlandishly self serving arguments about the economy so they can gain something out of nothing. But that begins to resemble a pyramid scheme powered exclusively by greed and self interest to the exclusion of that society's interests.

<comment><USER25> Not only is it a social construct, but the concept of money took thousands of years to evolve, with fits and starts, to what it is today. No matter what, some new technology isn't going to just show up all of a sudden and completely revolutionize what is an intrinsic component of human civilization. To think otherwise is to be taken in by scammers.

I know that current money systems have flaws and are manipulated by the elites. Crypto won't end up being any different in that regard, however. Inflation is a tactic utilized within the current flawed system to move wealth to the top without your bank balance displaying the change. Cryptos will end up having their own flaws to be exploited.

<comment><USER26> I think you're underestimating the impact of a durable and formal consensus mechanism that can be run by machines and can operate efficiently at a global scale by utilising telecommunication networks. This is orders of magnitude more efficient than traditional governing structures and will displace several core industries over the next few decades in my opinion.

</comment></comment></comment><comment><USER27> I know this might sound like a joke, but it is not: how about documenting how to actually test and debug smart contracts? Is there even a way to do so? How about fuzzying?

<comment><USER28> The best tool for debugging is [http://remix.ethereum.org/](http://remix.ethereum.org/). It lets you step through the compiled EVM bytecode, while highlighting the solidity source mapping.

</comment></comment><comment><USER29> Am I misreading the code? Isn't the EndLottery function completely broken? It looks like it finds the first user who bet less than the winning number. So, in order to win you should play ASAP and bet epsilon > 0, right?.

<comment><USER30> yeah, it's completely broken. which normally you would fix, but oh look too late!

<comment><AUTHOR> Thanks for your comment and it's fixed thanks to a hard fork ;)

<comment><USER30> right on, the tutorial was interesting (even for someone with little interest in all things blockchain :)

</comment></comment></comment></comment><comment><USER31> Here is a cool application - [https://predictiontoken.github.io/#TRMP](https://predictiontoken.github.io/#TRMP). It lets people bet on outcomes and bets be settled in a decentralized manner. There is a video in the link if you want to understand how it is accomplished.

<comment><USER25> Are you familiar with Assassination Politics?

</comment></comment><comment><USER32> I think we need an Etudes for Ethereum contract development and best practices; there are like 4 different "make a smart contract that juggles millions of assets on the shutter" tokens and sites, but few that focus on security and how to vigorously remind people that mistakes are worth millions of dollars

</comment><comment><USER33> Is there any other crypto platform allow to write dApps for blockchain?

<comment><USER34> Not out yet, but Filecoin: [https://filecoin.io/](https://filecoin.io/). It's like Ethereum but with file storage capabilities + built-in bridges to other cryptocurrencies.

<comment><USER35> Filecoin doesn't have any smart contracts as far as I'm aware, so it's limited to use as a decentralized storage network. I believe it would be possible to build something very similar to Filecoin on the Ethereum platform. Storj ([https://storj.io/](https://storj.io/)) may be trying to do that.

<comment><USER35> Edit: Filecoin does mention smart contracts in its white paper.

</comment></comment></comment></comment><comment><USER36> They talk about storing money in the contract.

Does this mean I will be "charged" right in the moment I "store" money in the contract?

Or does it mean I'll be charged when the contract gets "destroyed" and the money "in the contract" is sent to some address?

I'm asking because both sides have problems.

If I don't get charged when storing money in the cotract, I could spend it elsewhere until the contract resolves.

If I get charged when storing money, someone could write contracts that never resolve to purge money.

<comment><USER31> I would suggest you read the white paper ([https://github.com/ethereum/wiki/wiki/White- Paper](https://github.com/ethereum/wiki/wiki/White-Paper))

The short answer is contracts are accounts. Just like your normal ethereum accounts. When you invoke a method marked as payment, you are essentially transferring some ether from your account to the contract. If someone wrote contract from which you can't withdraw and you send ether to it, thats stupidity - even fiat can be destroyed by stupidity.

<comment><USER36> I see, thank you :)

Stupidity? Doesn't Ethereum want to prevent all money getting locked up somewhere?

<comment><USER35> I believe there are times when it is favorable to "burn" ether or another cryptocurrency, i.e. lock up the money in an unowned account. For example, the decentralized market place OpenBazaar discusses proof-of-burn to establish a user's reputation ([https://blog.openbazaar.org/proof-of-burn-and-reputation- ple...](https://blog.openbazaar.org/proof-of-burn-and-reputation-pledges/)). Burning coins allows a user to show they are invested in their reputation on the platform, without being forced to pay money to a central party.

</comment></comment></comment></comment><comment><USER37> I took a glance at the lottery example [1] and I wonder: isn't the owner of the lottery able to change the outcome so the winningNumber is always in his favor?

[1]: [https://ethereumdev.io/managing-multiple-users-a-simple- lott...](https://ethereumdev.io/managing-multiple-users-a-simple-lottery/)

<comment><AUTHOR> Could you explain more how would it be possible?

<comment><USER38> In the example code used, the random number which determines the winner is derived from the previous block hash. Since the lottery-owner determines when the function is run, they could call the function when the previous block hash favors their own bet, or else modify their bet before calling the function.

<comment><AUTHOR> Yep that is why there is a notice and link about random number generation in the tutorial.

<comment><USER39> try this lottery code instead [https://github.com/renasboy/ETHLottery](https://github.com/renasboy/ETHLottery)

<comment><USER37> Is it correct that the betted value doesn't influence any winning chances?

Also, is the last byte of the blockhash function return value guaranteed to be equidistributed?

</comment></comment></comment></comment></comment></comment><comment><USER40> Please, enough with the JavaScript already; there are thousands of saner means of expression already existing or waiting to be discovered. Writing flawless, verifiable contracts is the worst use-case ever for that stinking pile of a language. I wonder how many missing bazillions it's going to take for the world to wake up and move on.

</comment><comment><USER41> There needs to be a separation of the underlying technological fundamentals of ETH and its economic reality -- which is, like anything else, likely to go through bubble phases.

</comment><comment><USER42> Pretty much sums up the state of Ethereum/Solidity development right now;

Step 1, install wallet. Step 2, deploy contract. Step 3, learn about Solidity. ... Testing? Nah.

</comment><comment><USER43> Thread warning: I'm actively downvoting any argument that tries to address (read: not address) a cryptocurrency's flaws by changing the subject. Example:

Person A: Cryptocurrency X is insecure isn't it.

Person B: So is { the dollar | driving | flying | the internet | * }.

<comment><AUTHOR> Don't you have anything else to do?

<comment><USER43> What could be more important than discouraging faulty argumentation techniques on the internet?</comment></comment></comment>


TechStars Raises $8 Million - <AUTHOR> http://techcrunch.com/2011/03/29/startup-incubator-techstars-raises-8-million/

<comment><USER2> Link to TechStars: <http://www.techstars.org/>

The front page says: "Do more faster by joining forces with the #1 startup accelerator in the world."

</comment><comment><USER3> I wish it would get a lot easier to raise $ from outside the valley. Hopefully this is just the beginning!

Hopefully the KIK investment will spark something in Canada.</comment>


Show HN: Dark Hacker News – A Dark-Themed Hacker News App - <AUTHOR> https://apps.apple.com/us/app/dark-hacker-news/id1459946382 <comment><AUTHOR> Hi HN! I created a Dark Hacker News a few months ago and I thought I'd share it. Dark Hacker News is a simple dark-themed Hacker News app for browsing Hacker News stories and comments. Let me know if you have any questions or feedback. Enjoy!</comment>


"Dijkstra is Wrong and So am I" – an argument against 0-based arrays - <AUTHOR> https://hackernoon.com/dijkstra-is-wrong-and-so-am-i-f36e2fbd5ae4 <comment><USER2> Dijkstra is right and so were you once.

0 or 1 based arrays is not a fundamental issue. It's more like little endian vs little endian. It's marginally better if everyone settles for one indexing.

In a good high level language and programming style you rarely need to think in indexes. In a low level language 0-indexing is better.

</comment><comment><USER3> In low-level languages, an index is literally a pointer offset. p[n] is *(p+n), and 0 makes sense. In higher-level languages, it's a less direct dereference that may or may not be directly mapped in a similar fashion.

Since there's a real basis for 0-indexing and none for 1-indexing, obviously 0 is right.

</comment><comment><USER4> Those who do not understand Dijkstra are doomed to revinvent him.

There are plausible, though inferior, arguments for 1-based arrays. This person doesn't even manage to make them, though.

</comment><comment><USER5> [https://i.imgur.com/CMk6jZY.jpg](https://i.imgur.com/CMk6jZY.jpg)

<comment><USER6> This is the right answer, In addition I think a CS degree teaches you to how to write algorithms and work experience teaches you to not. And modern practice teaches you to avoid monkeying with array indexes when possible.</comment></comment>


Ask HN: Our startup won a month in SF - what should we do while we're there? - <AUTHOR>

Our startup (IntuitionHQ.com) was lucky enough to win BoosterSeat2011.com and so we are travelling from NZ to SF for a month to promote our startup.<p>We know a few people to meet up with while we are there, but we are a pretty blank slate, and looking to make the most of our time. Who should we meet, and what advice would you have for us to get the most value out of our trip? <comment><USER2> Have you applied for the Startup School (<http://startupschool.org/>)? This is one event you shouldn't miss, if possible.

<comment><AUTHOR> I wish we could make it, but unfortunately we won't be there until early-mid November. It looks like it would be really interesting though - lots of great speakers.

Thanks for the suggestion.</comment></comment>


Star Wars: The Force Awakens Trailer #3 - <AUTHOR> https://www.youtube.com/watch?v=sGbxmsDFVnE <comment><USER2> This is what a trailer should provide: a taste, a glimpse, a sliver of a story. Beautiful.

</comment><comment><USER3> I can't stop watching it.</comment>


Ask HN: Advice on turning your employer into a client? - <AUTHOR>

Due to life events, I will be moving across the US in a couple of months.  Currently employed as a web developer, and planning on approaching my employer about working remotely.
However, I eventually want to make the move into freelancing.  So I'm thinking this is a good opportunity to pitch them to let me leave fulltime employment, but continuing working with them as a freelancer.
Anyone have any experience/advice doing this? Thanks! <comment><USER2> Success as a free-lancer often depends on having a wide network of potential clients. Having one potential client is not enough, if their project gets delayed, they decide against outsourcing work, or they just find someone cheaper, there's no work for you.

Some companies will outsource to former employees others don't. You can get a sense for your current employer based on if they are currently doing it.

There are good reasons not to outsource. Chief among them is just the PITA of coordination, and the loss of flexibility...your boss can tell you as an employee to climb up on top of the dumpster and jump up and down to compress the rotten chicken parts if that's the business priority. A contractor across the country is going to negotiate a rate first.

So if you're serious about free-lancing:

      1. Identify a big pool of potential clients.

      2. Nobody is a client until they have written you a check.

      3. Have a contract.

      4. Require a retainer.

Good luck.

</comment><comment><USER3> It's a rough sell. It's like pitching your girlfriend on switching to an open relationship...they don't normally see the upside for them.

The best possible situation is that THEY bring it up. Make it clear you're leaving, make it clear you're going to still have time to work on their projects, and let _them_ come to you with the idea of freelancing for them. You'll be in a much better bargaining position. And don't forget to ask for more money if you're switching to 1099 contracting (you're gonna get hit with self employment taxes, etc).

</comment><comment><USER4> Several variables to consider-- How's your relationship with the true economic buyer? That's the guy who will sign-off on your contract. How receptive are they to working with remote contractors? If this is new territory for them, pitch the idea as a 3-6 month pilot project subject to review.

More ideas on ramping-up a freelancer business, recommend checking out Alan Weiss-- author of several books on consulting practices> [http://www.summitconsulting.com/](http://www.summitconsulting.com/)</comment>


Show HN: "Startup Ideas We'd Like to Fund" - <AUTHOR>

If you've been to the Y Combinator home site and read the "Startup Ideas We'd like to Fund" post, you'll see that one of the items is to "Fix Advertising".
If you've seen that item, and wondered where to start, I'm here to lend a hand:
https://img.skitch.com/20110629-1tyuy4fw4mq6wub6k8iram462f.jpg
About 6 seconds into reading this article, the entire page turned into an ad, separated me from my content and forced me to close the ad. Seriously?
The technology is there, I'm no developer but for the love of god...you want to fix online advertising?  Start by not treating my screen as a page in a magazine. <comment><AUTHOR> [https://img.skitch.com/20110629-1tyuy4fw4mq6wub6k8iram462f.j...](https://img.skitch.com/20110629-1tyuy4fw4mq6wub6k8iram462f.jpg)

Clickable.</comment>


Ask HN: Why do we think that "humans are the most evolved of 'all' animals"? - <AUTHOR> Could it not be possible that snakes are evolved and are evolving to be the best venom producers? Elephants are evolved and evolving to become the biggest bodied organic creatures? Etc.
Not that I am trying to assign a life purpose to the animals or to humans, but just a question I'd in my mind.
I agree that humans might be most evolved to make use of the logical brain, but isn't it the humans themselves who have given so much importance to logic. <comment><USER2> If you don't know about the mantis shrimp, go look it up.

More seriously, "most" implies a direction that we conveniently orient in ways that make humans seem superior. In my experience, linguists are particularly guilty of this type of thinking -- language is something that 'only' humans can do. What, prairie dogs can communicate semantic content using their voice? Hold on while I move the goalposts...

</comment><comment><USER3> It's a loose term with little meaning.. or at least, without more effort to restrict the data. Even in your examples.

I would think, if "most evolved" with no other information was used, some type of bacteria or small, rapidly breeding being would vastly be "most evolved". As evolution is merely about change over time, the number of iterations would be all that matters, I would think?

I know nothing of the scientific terms backing any of this, so perhaps there are measurable scientific methods for determining "most evolved". But I suspect it is a common, mostly useless term.

</comment><comment><USER4> The term is probably "most highly evolved."

The one thing that humans have evolved, over and above the other living things, is the ability to abstract solutions to our evolutionary shortcomings.

For example, we can't breathe under water. But we can create the machinery that mines the materials needed to create that machinery (nice pseudo chicken- egg cycle) that creates the scuba gear and processes for filling them with breathable air (diluted with helium or other inert gas to lower the risk of "the bends"), and then using that gear to protect our skin (outerwear), swim faster (flippers) and breathe without gills (tanks and breathing apparatus).

There are other tool-using animals out there. But they are at the first step of tool usage, and lacking the layers of abstraction our tools employ.

We humans are less evolved for certain tasks than groups of other life. But we are more highly evolved in that ability to abstract our knowledge of other animal traits (flight, burrowing, erecting walls or damns, etc) and create things that accomplish those evolved traits for us.

EDIT: Helium. Not ozone.

<comment><USER5> You mean argon or nitrogen ? As ozone is highly reactive in nature.

<comment><USER4> Actually, nitrogen is what causes the bends as well as nitrogen narcosis, making it toxic under pressure. And argon is even more narcotic under pressure.

You are right, however, that ozone was the wrong gas of choice. I meant helium.

</comment></comment></comment><comment> oh-moses Who claims that "humans are the most evolved of 'all' animals"? And what do they mean by "most" evolved?

Without this information it's hard to answer the question _why_ they're saying that.

</comment><comment><USER6> The fallacy starts with "most evolved". What does that mean?

You can say most intelligent, probably, you can measure other stuff... but what does "most evolved" mean? Most DNA changes since the primordial soup? I doubt we win on that.

I'm not trying to belittle the asker here, I know "most evolved" is something of a trope. It's just one that's meaningless IMHO.

<comment><USER7> Ha, good point. I suppose you could say that, assuming the 'arrow of evolution' always results in an improved adaptation to a living thing's environment, that any creature is the "most evolved" relative to the DNA history from which it stems. Then again, DNA mutations don't always result in positive adaptations to an individual creature's environment; sometimes (most often?) individuals degenerate relative to their predecessors.

So, maybe you can only fairly compare the degree of evolution between members of the same species functioning in generally the same environment and competing for generally the same resources.

</comment></comment><comment><USER8> The only reason "we" think that humans are the most evolved of all animals, is that "we" don't really understand evolution.

We are evolved for a specific niche, and so are all other animals. They are just as evolved for their niche as we are for ours. And how evolved you are is not very quantifiable, so what's "more evolved" or "less evolved" is not easy to define.

I guess we're fortunate that our niche has turned out to translate very well to an extremely diverse number of environments. We're good at cooperating and transferring detailed, complex knowledge to new generations, and that has allowed us to develop complex culture, technology, even allowing us to survive in space.

</comment><comment><USER9> It's a complete misunderstanding of evolution as something where species "level up" to become "more evolved", usually seen as more complex, stronger, faster, smarter, etc. But in reality, evolution is adaptation to environment by the process of natural selection. As long as you're surviving (or more accurately your genes), you are "evolved". This is no more or less true for humans, snakes, or Salmonella bacteria.

</comment><comment><USER10> That claim is bullshit and we should stop making it. Evolution doesn't have a direction or a teleology.

<comment> wait-a-minute But evolution does have a direction. Survival of the fittest! Those animals most fit to reproduce survive and reproduce. Humans have done that and taken over every other species with tools and general intelligence that no other animal can hope to possess. We are what you would call the apex predator on earth.

</comment></comment><comment><USER11> I would not say more evolved, if by evolved one means complex. Plants actually have more complex genomes than humans because they had to develop defense mechanisms that work _even if they cannot move away from the threat_. I would say humans are the most powerful of all animals.

</comment><comment><USER12> Practically no evolutionary biologist thinks that. All organisms living today have evolved for equally long.

You've described a criteria - "logical brain" \- and then evaluated currently living organisms based on that, and determined humans to be the highest on that. That's not the same thing as being "most evolved".

Evolution has no "direction", no goal beyond the ability to survive. It's dysteleological.

Recommend The Big Picture by Sean Carrol for an overall overview of related questions.

</comment><comment><USER13> All life is evolving to survive and reproduce. This is the reason that snakes have evolved to produce venom and that human have evolved logical thinking. We have essentially placed ourselves above the food chain. At least in that sense we are the most evolved.

However, that doesn't mean that we should consider ourselves superior to other animals. It doesn't give us the right to destroy the plant and put other living being into factory farms.

</comment><comment><USER14> > I agree that humans might be most evolved to make use of the logical brain, > but isn't it the humans themselves who have given so much importance to > logic.

No, humans are not evolved to make use of the logical brain. Humans have the most evolved brain known to us, as well as the largest brain mass to size ratio. As the brain is the most complex organ known, it is not unreasonable to think of humans as the most highly evolved.

And anyways, what does it matter?

</comment><comment><USER15> one word: anthropocentrism. it's easy to have a bias towards your species when it's the one that frames the experience of your entire existence.

<comment><USER16> Exactly. We think in terms of what's important to humans. Maybe a tree thinks what's important is to sit still and grow forever.

Also, if we can't perceive or measure any sort of higher order being, we're going to think we're at the top of the food chain. We can speculate, but never get any solid facts.

</comment></comment><comment><USER17> Plants and animals are all different instances of the impulse of life. Plants tend toward instinct, animals intelligence. Humans are the first species to encode symbolic representations in matter. This capability is what has allowed us to 'evolve' beyond all other life forms. The ability to believe that that matrix is real ;)

<comment><USER18> > Humans are the first species to encode symbolic representations in matter.

We are probably also the species most capable of alienation and getting totally lost in the symbols we invent, taking them more seriously than what they're supposed to represent. Since that might very well be a major lubricant in our continuation of the course towards the destruction of our species and the ecosystem it depends on, in my books the jury is still out on just how advanced that is.

</comment></comment><comment><USER19> If you're talking about biological evolution, this question is considered nonsensical to those with a background biology.

Evolution is merely the change in allele frequencies in a population over time. There is no herarchy or order one can impose to make a comparison of "more" or "less" evolved.

</comment><comment><USER20> Because we are the ones making the observation. It's the same basis as religion.

</comment><comment><USER21> I don't think there's a meaningful total ordering on 'how evolved' you are.

We probably have the best memory, and obviously the most complex society. But I'm not sure whether that makes us 'more evolved'.

</comment><comment><USER22> Not everyone thinks that.

Asking this question is a bit like asking "Why do _we_ believe in God?"

And the answer is that belief in God is not universal. Also, if you really talk to people in earnest, individuals who generally agree that God exists don't agree on a lot of other things pertaining to God and will have come to their belief by different pathways.

There are things for which there is enough consensus that it is socially acceptable to talk about it publicly. That doesn't mean everyone agrees. That just means most dissenters have the good sense to keep their thoughts to themselves and those that don't get mocked, pilloried, etc.

See also Overton Window.

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

</comment><comment><USER23> Humans are higher/better, not "more evolved".</comment>


Does anyone obey the "turn off electronic equipment" requests on planes anymore? - <AUTHOR> http://economics.com.au/?p=5302

<comment><USER2> Hrm. I might be mistaken, but isn't the restriction on transmitting devices? It'd make a difference, I think, on how much they'd care about what you're using at the time.

<comment><USER3> No. All electronic devices.</comment></comment>


A coincidence, I'm sure, but Samsung's Chromebox looks kind of familiar - <AUTHOR> http://dcurt.is/chromebox-samsung

<comment><USER2> If nothing else, Samsung has guts. I can't imagine they aren't angling for something here, because _nobody_ can be dumb enough to think Apple isn't going to go after this, too.

So, what's the upside for Samsung in seeing how closely it can copy Apple's designs in today's design-patent world?</comment>


Review My Startup: Feedbeater - <AUTHOR> http://www.feedbeater.com FeedBeater is an intelligent service that allows anyone to syndicate any URL with zero configuration and no registration. With Feedbeater, users no longer have to rely on sites to generate an RSS feed. <comment><USER2> Where's the service going to go from here? A good start, but I'd like to see it help me with something that other services don't already solve.

</comment><comment><USER3> Beat it?!?</comment>


Despite tepid support and funding peril, fusion energy researchers make progress - <AUTHOR> http://gizmodo.com/the-real-problem-with-fusion-energy-1777994830 <comment><USER2> > "The challenge with fusion is finding a technical path that makes it > economically attractive and that's something we can do soon,"

This is the most important line in the entire article. As strong a proponent for fusion energy as I am, knowing a bit of energy economics makes me doubt that fusion will be a viable investment in the next 20 years.

The problem is that fossil fuels are abundant and cheap, the negative externalities caused by burning them for energy aren't included in their pricing. Until oil becomes absurdly expensive (I think $400 per barrel would do it) we wont see serious interest in fusion research again. Unfortunately, because of the lead time, it may be too late by then.

</comment><comment><USER3> There are some big challenges that still need to be met, such as how to breed tritium in the blanket, how to make the reactor realistically serviceable, materials resistant to sputtering, etc. Nearer-term are solutions to problems of how the diverter effects plasma flow, but even that is a long way out.

</comment><comment><USER4> There's now at least a dozen feasible and diverse fusion projects out there. So planners who assume there _won 't_ be fusion soon are obliged to explain why they must _all_ fail.

<comment><USER5> As much as I support funding this research, "because decades have passed with little evidence of success" sounds like a good reason for a skepticism to me.

<comment><USER6> You should look at this:

[https://i.imgur.com/sjH5r.jpg](https://i.imgur.com/sjH5r.jpg)

It's a (normalised for 2012 dollars) chart from a study comissioned by the US government in 1976 to determine how much money would need to be invested per annum in order to achieve viable fusion power by specific dates. You can read the whole thing here (including the unmodified chart):

[http://link.springer.com/article/10.1023%2FA%3A1021815909065](http://link.springer.com/article/10.1023%2FA%3A1021815909065)

The chart I have linked you includes an extra line of data not found in the original report, namely how much has actually been invested.

Ongoing funding of fusion research dropped quickly to a half and then about a sixth of what the US government _knew_ was needed to achieve their goal. It is in no way the fault of the fusion research community that we do not yet have a working reactor, they've been viscously strangled by bean-counters for 40 years.

Frankly, I think it's a testament to the great work of some badly under- appreciated people that we're as far along the road as we are, and if you want to support funding _you totally should_ because we've known for 40 years that increased funding is all that's holding this back.

<comment><USER7> And despite that, the fusion triple product, which has to get above a certain threshold to achieve net power, advanced exponentially from 1970 to 2000, and in 1999 a reactor in Japan got results with deuterium fuel that would have exceeded breakeven had they been using D-T.

Then governments decided to put most of the fusion money in a three-decade construction project in France, cancelled a bunch of projects, and progress slowed.

At least private investors are starting to pitch in; Tri Alpha just got $500 million, General Fusion has a fair amount, and YCombinator invested a little in Helion.</comment></comment></comment></comment>


The Fall of "The Uber for Shipping" - <AUTHOR> https://www.failory.com/cemetery/shyp <comment><USER2> I remember taking a phone screen with this company circa 2015. Mostly, I remember the recruiter on the other end doing an incredibly good job of selling me on the company being a great idea and a place I want to work at. I don't think I heard back from them again after that.

In retrospect it feels to me like one of those businesses that probably deserves a second wave of attempts when the landscape has shifted a little more.

</comment><comment><USER3> There is a counterpart company in China called FlashEx that is doing pretty well (just raised Series D in 2018) right now, focusing on same city on demand shipping.

<comment><USER4> Similar to Gojek and Grab in SE Asia. They're basically bike couriers but on mopeds. You give them an object and address, and they'll take it there. Faster than the mail, obviously; and much more convenient than navigating through SE Asian traffic yourself.

</comment></comment><comment><USER5> So it's a regular old run-of-the-mill courier service, except you send them a picture of the item you're sending instead of calling them or something.</comment>


Metcalfe to Unveil 'New Ethernet' - <AUTHOR> http://www.lightreading.com/document.asp?doc_id=217276&f_src=lightreading_gnews

<comment><USER2> Finally, something to help us rebuild after the great Internet collapse of 1996!

[http://en.wikipedia.org/wiki/Robert_Metcalfe#Incorrect_predi...](http://en.wikipedia.org/wiki/Robert_Metcalfe#Incorrect_predictions)

(I am in fact a fan of Metcalfe's writing, and he did literally 'eat his words' after that wrong prediction, but this deserves mentionining in the context of a 'new Ethernet'.)

<comment><USER3> I see no information on the basis of his prediction. Does anyone know if he gave any reasons for a supposed collapse, or if it was mere conjecture?

<comment><USER4> [http://web.archive.org/web/19991023010820/http://www.infowor...](http://web.archive.org/web/19991023010820/http://www.infoworld.com/archives/html/dt_IWE49-95_23.htm)

This was around the time Internet traffic doubled in 100 days, a rate that outstripped any possible capacity buildout. Fortunately for the Internet, that rate of demand growth did not continue. [http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/ar...](http://firstmonday.org/htbin/cgiwrap/bin/ojs/index.php/fm/article/view/3142/2603)</comment></comment></comment>


How safe is air quality on commercial planes? - <AUTHOR> https://www.bbc.com/news/health-32786537/ <comment><USER2> I´m commercial pilot and from my 16 years experience, breathing toxic fumes has never been a real issue for crew members. The rate of medical discharges due to respiratory illness is equal or lower than I you can see in normal population (just my experience). We never talk about it, nor consider it a health factor.

It´s true there is a moment when the engines start (there is fuel vapor that is not being burnt at the very beginning) when you can smell strong fuel fumes, they make their way to the packs (air conditioning system) but it only smells for a minute or so.

Crews are very, very, VERY sensitive to smells, the worst emergency you can suffer in flight is a fire or smoke (electrical are the worst). We are always trying to discover and track any weird smell. We have procedures to isolate an air conditioning if it´s the cause of the smell or smoke (sometimes it happens).

So no, I don´t think air quality it´s an issue in commercial planes. The air is very dry, and the recirculation and cabin altitude of 5k to 8k feet that create a lower oxygen partial pressure, in my opinion these are bigger factors in how you feel in flight than isolated contaminations.

Also I must note that some flight attendants have some kind of urban legend were they come to cockpit and check the Flight level we are flying, then if it´s high (above FL320 or so) they start complaining about hipoxia and how tired they feel. Usually there is little difference in cabin pressure between FL320 and let´s say FL380, for example the cabin will keep around 8k feet for an Airbus A320 and 5k feet for an airbus A340 (cabin altitude is lower). I´ve tried several times to see if I can feel the difference somehow, but it´s almost impossible. I guess you need an aerobic test to feel it, or having some hipoxic condition due to an illness.

I wouldn't be surprised if the people complaining from the quality of the air is the same one that complains of cabin altitude. But maybe they are right and there is an aerotoxic syndrome, I´m interested in seeing the results of a study.

Personally I´m still more concerned about timezone changes 4-5 times a month, accumulated radiation, being bitten by malaria mosquito (when flying to Caribbean or Africa)or simply a van accident when being carried from the hotel to the airport.

Edit: typo and clarification.

<comment><USER3> A similar thing happened with the F-22A Raptor. Pilots reported breathing difficulties, and for a while the "experts" were sure it was some exotic chemical toxin in the air supply.

After much investigation, it was confirmed as a combination of a faulty BRAG(Breathing Regulator & Anti-G) valve and poor breathing technique. The proximate physical condition is known as 'Acceleration Atelectasis' which is a lung issue resulting from the incorrect breathing technique under High-Gs.

IMO a combination of fatigue, and a relatively high cabin altitude (8k feet) could easily account for the symptoms these crew are reporting.

</comment></comment><comment><USER4> Can I just say, this is a really well written article. Great diagrams, explanations, and it gives both sides fairly well. Even for the BBC this is top class journalism.

<comment><USER5> Small thing about the diagrams, they depict a four-engine aircraft which only make up about 5% of commercial aircraft in service

<comment><USER6> They're talking about British Airways, the world's largest operator of Boeing 747.

According to Wikipedia [1], the four-engine 747 and A380 comprise over 20% of BA's fleet, way above the worldwide average. The percentage of four-engine aircraft on BA's long-haul routes are likely to be even higher, and it's those long-haul routes that the people mentioned in the article are worried the most about.

[1] [https://en.wikipedia.org/wiki/British_Airways#Fleet](https://en.wikipedia.org/wiki/British_Airways#Fleet)

</comment></comment></comment><comment><USER5> >The only exception being the new Boeing 787, which uses "bleed-free technology".

More detail on this: "In the no-bleed architecture, electrically driven compressors provide the cabin pressurization function, with fresh air brought onboard via dedicated cabin air inlets." [http://www.boeing.com/commercial/aeromagazine/articles/qtr_4...](http://www.boeing.com/commercial/aeromagazine/articles/qtr_4_07/article_02_1.html)

Say what you will about the 787 but it has brought a number of innovations to aircraft that will probably live on eventually in future models.

<comment><USER7> _Say what you will about the 787_

Sounds like you've got a somewhat negative view of the 787; I'd love to hear more. I haven't read much in the way of 787 reviews, but my experience as a passenger on them have been great thus far.

<comment> UVB-76 See: [https://en.wikipedia.org/wiki/Boeing_787_Dreamliner#Incident...](https://en.wikipedia.org/wiki/Boeing_787_Dreamliner#Incidents)

<comment><USER7> Thanks... I had forgotten about the fires etc.

</comment></comment></comment></comment><comment><USER8> I was on a flight recently and something smelled... wrong. So I asked the cabin crew about it.

"Oh, you're probably just smelling jet fuel. Once it burns off the smell will go away. No big deal," said the cabin crew.

I did not feel soothed by this.

<comment><USER9> My favorite will always be a large quarter-circle a few feet in radius taken out of the trailing corner of a control surface on the wing, visible from the cabin windows, with a large arrow & inscription in sharpie saying "WE KNOW ABOUT THIS"

<comment><USER10> That's both hilarious and terrifying. When was this? And on what airline?

<comment><USER11> About a week ago British tabloids ran all sorts of "TERROR IN THE SKIES" stories because someone snapped a photo of a maintenance crew applying speed tape[1] to a plane, and thought they'd duct-taped a broken plane back together.

Every so often someone posts a photo of a plane with a missing winglet and asks why it was allowed to fly when "the wing was broken" (missing a winglet will do nothing except decrease fuel efficiency a bit).

Lots of really silly posts happen because people don't know much about airplanes.

[1] [http://en.wikipedia.org/wiki/Speed_tape](http://en.wikipedia.org/wiki/Speed_tape)

</comment></comment></comment></comment><comment><USER12> This is an important article about the dangers of engine chemicals mixing with the cabin air. There's also the airplane air quality issue not referenced in this article about the recirculation filters against spreading airborne microbes. Who hasn't heard someone say "you always get a cold 3-5 days after taking an airflight". There must be articles about the epidemiology of airflight. (rate of appearance of novel virus serotypes around Atlanta, and Hillingdon, London, for example)

<comment><USER13> Regarding the air quality issue, there was the 17 year old who won the International Science Fair for his air circulation invention: [http://www.thestar.com/news/canada/2015/05/16/bc-student- win...](http://www.thestar.com/news/canada/2015/05/16/bc-student- wins-75000-top-prize-at-worlds-largest-high-school-science-fair.html)

</comment></comment><comment><USER14> Careful! In order to cut costs, airlines mix nitrogen into the air they pump into the plane, almost 50% sometimes!

(archived from vani hari, the "food babe":)

[http://www.freezepage.com/1415667665TBMRBWICKU](http://www.freezepage.com/1415667665TBMRBWICKU)

Someone here needs to invent a mask that can filter out all that nitrogen

<comment><USER15> Is that a joke? Normal breathable air is made of 78% nitrogen and 21% oxygen ([http://en.wikipedia.org/wiki/Atmosphere_of_Earth](http://en.wikipedia.org/wiki/Atmosphere_of_Earth)). Thanks god is not all oxygen otherwise you will catch fire in practically 0 seconds. On the pressurization that compress your body. But the problem is, they pressurize the plane to the same level of between 3000-6000 feet. It is less then the pressure you usually feel. So doesn't make sense.

<comment><USER16> You are so _obviously_ a shill of Big Nitrogen. How do you sleep at night?

<comment><USER14> You cannot prove it, besides I can tell you obviously work for the airlines.

</comment></comment></comment></comment><comment><USER17> If a news headline is phrased as a question, it's almost certainly click bait. If it is about politics, it definitely is.

</comment><comment><USER18> If cabin fumes impair brain functioning, that would explain a lot of what I've seen/heard from the kinds of people who travel all the time.

<comment><USER19> What have you seen/heard?</comment></comment>


Rule of Zero (2012) - <AUTHOR> https://rmf.io/cxx11/rule-of-zero/ <comment><USER2> Very nice!

I have spend the last hour trying to display the Poincaré disk[1], but to no avail.

I have z * (cos(1.57 * (a^2+b^2+1)^(1/2))/sin(1.57 * (a^2+b^2+1)^(1/2))), which project the coordinates to the infinite on a circle. But this is only a fancy zoom, straight lines are not projected to circles.

[1][https://en.wikipedia.org/wiki/Poincar%C3%A9_disk_model](https://en.wikipedia.org/wiki/Poincar%C3%A9_disk_model)

Edit: Wrong thread</comment>


Ask HN: Other than crypto-mining, what are some other rewarded computations? - <AUTHOR> Most everyone has heard of cryptocurrency mining at this point, but what are some of the lesser known cases where you can put your computing power to work? I have heard vaguely about "donating" processing power to NASA for some kind of research but I don't know many details. <comment><AUTHOR> Upon continuing to research some uses, I found this website : [http://boinc.berkeley.edu/projects.php](http://boinc.berkeley.edu/projects.php) . It allows you to donate computing time to various scientific projects from around the world</comment>


How to segfault bash: a() { a; }; a - <AUTHOR> Just wait a bit and you will get a SEGV error <comment><USER2> It's not a surprising result. You just run out of stack with your infinite recursion, and shells usually don't perform tail call optimization.

</comment><comment><USER3> So does

        :(){ :|: & };:

</comment><comment><USER4> Cousin of fork bomb?</comment>


'Weev' Stops By Occupy Wall Street - <AUTHOR> http://www.observer.com/2011/10/hacker-hero-weev-stops-by-occupy-wall-street-video/

<comment><USER2> And he leaves a particular biting comment for the author:

>>

I did not steal the identify of Matt Schwartz. I informed him that his was at risk to theft. There's a difference. Mr. Schwartz's article on me is libelous and he was deliberately untruthful. I have never stolen anyone's identity, and this article is not even remotely truthful.

"After being released last month" You can't even get my release date right, I have been out for months.. Nor did I say the subsequent statement. I also have never been convicted of a felony, and thus am not a felon. Try mastering basic facts before you pretend being a journalist. \-----</comment>


Loophole to get Windows 8 Pro for $15 - <AUTHOR> http://thenextweb.com/microsoft/2012/10/30/microsoft-website-loophole-lets-anyone-buy-windows-8-pro-for-just-15/

<comment><USER2> Not so much a loophole as just lying to get a discount you're not entitled to. Does thenextweb even have editorial staff?

</comment><comment><USER3> Still over-priced.

</comment><comment><USER4> I would not even touch it if I was _paid_ $ 15 for getting it.</comment>


No one said they wanted faster horses, they wanted less horseshit - <AUTHOR> http://www.helloerik.com/no-one-said-they-wanted-faster-horses-they-wanted-less-horseshit

<comment><USER2> The author starts off by asserting that Ford never said what is popularly thought he said.

And then he starts his discussion with his own assumption: "Here are some of the things people would have responded with if you asked a mid-late 19th century city planner what he needed with regards to equine transportation:"

I think it would have been a stronger argument to just list a few sources of information.

But besides that, I think the article raises some interesting points. For me, I don't want a faster car, I want fuel efficiency. I want a car that doesn't require too much maintenance and repairs.

<comment><USER3> Googling isn't immediately getting me anything and I don't recall the source, but I used to read a lot of urban planning books and I recall seeing a quote from that era to the effect of "Mud! Mud everywhere!" and complaining about it. "Mud" was a euphemism for horseshit. So that was a real complaint of the time.

Though the internet did not exist at the time so I don't know if it is even possible to find quotes/resources about it online. That may be part of why he kind of speculated rather than listing a few sources of information.

<comment><USER4> Here's a classic piece of data journalism on the topic:

'This problem came to a head when in 1894, The Times newspaper predicted... "In 50 years, every street in London will be buried under nine feet of manure."'

[http://www.historic- uk.com/HistoryUK/HistoryofBritain/Great-...](http://www.historic- uk.com/HistoryUK/HistoryofBritain/Great-Horse-Manure-Crisis-of-1894/)

</comment></comment></comment><comment><USER5> Now instead of the waste of transportation being localized near the person using the transportation, we've dispersed it throughout the global atmosphere and no one knows what to do about it.

</comment><comment><USER6> Slightly OT, but relevant: I _still_ want less horeshit. The Toronto police / RCMP ride horses down the bike paths in Toronto, and sometimes they leave giant shits in the middle of the path. The disrepect to cyclists and the rest of the city is immense. It's dangerous, it's smelly and it's extremely rude. They do this in Montreal too - the police horses leave giant shits all over the Mont Royal paths. Please stop leaving horseshit everywhere Canada. Seriously.

<comment><USER7> "Look, I'm riding a horse! Isn't it pretty?"

In Boston we'd have cop-horses leaving their several-gallon-sized gifts all over town. Once a coworker (known for paroxysms both inside and outside the company) encountered some in front of our building and he got hopping mad on the phone to start screaming. I cooled him down enough to say it was in front of the fast food store on the first floor, not our business, because if the BPD has any blacklist for assholes he was going to get us put on it.</comment></comment>


On the Proposed PHP Code of Conduct - <AUTHOR> http://paul-m-jones.com/archives/6214 <comment><USER2> This is a an argument built on appeals both to Eric S. Raymond and the last several years of Twitter/Tumblr drama. It doesn't even discuss the CoC; instead, it adopts as a premise that any CoC that refers to "safety", "welcoming" and "respect" must be tool of Twitter oppressors.

There are valid arguments against widespread adoption of CoCs (for instance: they can end up as window dressing). But this isn't an example of one.

<comment><USER3> I knew that the #1 "rebuttal" of this would be: "links to ESR: disqualified!"

>it adopts as a premise that any CoC that refers to "safety", "welcoming" and "respect" must be tool of Twitter oppressors

No it doesn't. It explains its argument for why that is, and provides examples.

Edit: I also knew, when I saw this post had been up for an hour, that it wouldn't make it to hour 2, no matter how many upvotes.

<comment><USER4> Why did you think it wouldn't make it? Does HN have a policy to avoid anything related to the SJW mess? Genuinely curious, I'm a new user.

<comment><USER3> Yes. Things like this often get memory-holed. I don't know if it's by users or mods, but because I have showdead on and this post still can't be found on the front (or next) page, I tend to think the latter. It also doesn't say "flagged" on it.

<comment><USER5> This is a weird post: it's been popping on and off the front page for me, which might have something to do with the "vouch" feature I just learned about. It seems like it's the object of a tug-of-war.

<comment><USER6> That's exactly what it is.

<comment><USER3> Thanks for the explanation. I'm sorry that my misunderstanding of the UI, and some bias around the subject, led to conspiratorial thinking.

I wish the community didn't have such a slim tolerance for discussion of this subject that's not uniformly toeing the progressive line, as I thought this was fair in tone and argument, but if I'm in the minority, it's nothing to go nuts about. I can see both sides.

<comment><USER6> Posts about this and related topics get heavily flagged regardless of what side they're on. I don't see the community in toto as driven ideologically one way or the other, though obviously some subgroups are.

We turn the flags off sometimes when an article is particularly substantive. For example, we did that yesterday for [https://news.ycombinator.com/item?id=10923885](https://news.ycombinator.com/item?id=10923885), because that article was factual and had historical value. When we do that, though, it isn't because we agree or disagree ideologically.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I think there should not be any Code of Conduct in OSS projects. I like the BDFL model more. If the BDFL does not like what you do, you are out of luck. Join or create a fork. If what the BDFL likes does not resonate, nobody will contribute and the project will die.

I think hacking was never about politics through words. Sure hackers might had or have an agenda, but their weapon is programming not writing. I have nothing against political activists who use writing as their tool of choice, but there are plenty of groups you can join and do that. For me it makes no sense to mix the two concepts together and scare away actual hackers who just want to write code.

If you do not like the community, fork it. That is was everybody does for technical or political reasons, why should there be written rules for stuff most people like to do as a hobby in their free time?

</comment><comment><USER8> (This story became flagged between the time I finished this comment and the time I submitted it. I used "vouch" to unflag so I could post the comment anyway, then "unvouch" to undo my vouch. While it was vouched, it got upvotes and this comment got upvotes, leading me to believe that there _is_ interest in discussing this, but I'll leave it to others to make that decision)

The proposed code of conduct is terrible, because of this unclear section:

       This Code of Conduct applies both within project spaces
       and in public spaces when an individual is representing
       the project or its community.

What is a "public space" and what counts as "representing the project or its community"?

For example, suppose Alice [1] is a core contributor to PHP and they adopt this code of conduct as written. On her Facebook public biographical information she proudly lists her PHP affiliation.

She also mentions her hobby of writing adult-oriented Harry Potter fan fiction, and links to her stories at fanfiction.net. These stories are full of sexualized language and imagery. Her author page at fanfiction.net also cites her PHP affiliation.

Is Facebook a "public space"? Is fanfiction.net a "public space"? Is listing her PHP affiliation on those sties count as "representing the project or its community"?

This is _not_ just a theoretical issue. The author of that code of conduct submitted an issue to a project on Github that was not using a code of conduct trying to convince them to remove someone who tweeted something she thought was transphobic, on the grounds that he mentioned the project in his Twitter profile and so his statements reflect on the project [2].

[1] I'm using Alice as a generic name here. If there are any people named Alice who are PHP contributors, this is not a reference to them.

[2] [https://github.com/opal/opal/issues/941](https://github.com/opal/opal/issues/941)

PS: Swift is using the same code of conduct. I sent them an email asking how they interpret these things, and their response was:

       We want to clarify with you that "representing the project
       or its community" in the context of "public spaces" refers
       to behavior at Swift-oriented events, and not to individual
       social/online profiles or unrelated interests.

PPS: The author of this code of conduct has stated that version 1.4 will expand that unclear section by adding:

       Due to their strong association with the project, core
       contributors are always seen as actively representing it.

See [https://github.com/CoralineAda/contributor_covenant/issues/1...](https://github.com/CoralineAda/contributor_covenant/issues/125)

<comment><USER9> What's vouch? The opposite to flag? Available to hand-picked users or is that based on another karma level?

It's always fascinating to learn about mechanisms I've never even heard about, either by such comments or by dang's mails telling you to do X.

<comment><USER5> I was curious too, and I found this post explaining it:

[http://blog.ycombinator.com/two-hn- announcements](http://blog.ycombinator.com/two-hn-announcements)

</comment></comment></comment><comment><USER10> The fact the creator of this CoC started out by personally going to projects and calling them out for not having a CoC then trying to sell them on their own CoC should be reason enough to roll your own instead of forking Contributor Covenant and letting them get fame and speaking dosh from harassing maintainers into using their project.

CoCs are a good thing, but should be something coming from inside the project outwards.

</comment><comment><USER11> This post seems to be complaining about oppression, but doesn't seem to address the opposite end, oppressive attitudes/terminology used to intimidate those advocating for social equality. It offers no pathway to making the situation better.

This sort of discussion seems to go in an endless loop since one side wants to advocate for equality & try to use as many tools as possible to that end, while the other side does not seem to like the heavyhandedness & prefer to maintain the status quo as a reactionary measure, which does nothing to fix this disconnect or the fundamental issues.

It would be more productive to acknowledge the problems that plague others wanting to enter the ecosystem, and try to do things about it than to complain that one side is acting in an undesired manner - the status quo is already undesired as it is.

<comment><USER12> The problem is that these CoCs are being pushed on open source projects not because there is or was a problem with that project, but simply to push the politics of the CoC authors.

Was there actual bad behavior going on in the PHP project that prompted the CoC to be submitted? In the case of Opal, there wasn't. One of the core contributors said something on his _personal_ Twitter that offended someone, then people came into the project with CoCs demanding his head.

Anyone can fork a project. That's how you deal with a toxic community, not strong arm yourself into a position to judge and oust existing community members and use the media to shame those that oppose you.

<comment><USER11> Forking is an extraordinary measure, and often not practical - that is usually a very poor option.

Personally, I disagree with your approach to dealing with a toxic community. Having done moderation in various forums/chat rooms & now open source for almost 12 years, that's usually an approach that encourages poor behavior through insufficient action. As to a solution, I don't know what would be the best way to prevent it, but I'm not so naive to suggest there is an easy one- sided path to avoid it.

<comment><USER12> The thing is these communities aren't actually toxic. Large open source projects take patches based on merit. Lots of people don't even have human identifiable usernames or avatars on Github and yet get patches accepted.

The _real_ toxic behavior that's been happening in open source over the past 5 or so years is the influx of non-developers forcing their political causes into projects and distracting from actual development while bringing negative media attention to OSS via clickbait/ragebait friendly stories.

<comment><USER13> I think you stated that better than I ever could.

I perceive a code of conduct as colonization, and the arguments/drama as a beachhead.

</comment></comment></comment></comment></comment><comment><USER14> I've never read the Rosario github thread before, but it seems fairly obvious to me that this is a troll - or at least, I'm uncertain enough about its legitimacy to not use it as a prime example of SJWs threatening open source contributors.

</comment><comment><USER15> This post directly targets an individual in the PHP community and not the CoC in question. I'd suggest renaming this post as misguidance, irregardless of which side it is from, isn't addressing the point.

<comment><USER16> I don't think he is attacking her, stating his objections to something she proposed isn't an attack neither is pointing out things she has said and/or written.</comment></comment>


PHP.net Redesign - <AUTHOR> http://www.php.net/#

<comment><USER2> One thing I don't like about the new design is the search. The old version allowed you to enter a function name and press enter, and then be taken to the function page. Now you have to enter the function name and wait for it to appear in the search completion list and click on it. Else you get taken to a results page, that opens links in a new window.

<comment><USER3> Isn't that so that people can talk about a function (for example json_encode) in different places, have it register in search, and have other people be able to find it?

If they have that kind of lookup table implemented for functions, don't you lose the ability to search for just mentions of a certain term? Also I found the dropdown completion list to be pretty fast (once I clicked a link it loaded rather slowly, though)

</comment></comment><comment><AUTHOR> Click "Step into the future! Click here to switch to the beta php.net site" at the top to see the new design.

It's a huge improvement visually.

</comment><comment><USER3> It's like Christmas has come for PHP developers.

Finally a big step forward, maybe PHP will be catch some support on the Web 2.0 bndwgn now</comment>


Show HN: Gitori: A Gamified Progressive Metronome to practice music - <AUTHOR>

http://www.gitori.com
As a guitarist I tend to find that there is plenty of 'learning' resources on the internet but what prevents me from being a better musician is the ability to practice consistently and effectively. Gitori addresses that problem by using a gamified metronome.
Some of my pain-points that it addresses are:
1) Improving on the metronome. The most popular piece of advice I've gotten for improving technique as a musician is to use a metronome and start slowly, gradually increasing tempo.
   I did this for many months and found the constant Metronome-tweaking to be annoying. I wanted an auto-pilot Metronome. Gitori is my attempt at an autopilot metronome.
2) I find practicing exercises/scales to be a bit boring. Especially taking the extra effort to practice everything in multiple keys
3) I lack the discipline to fix a minimum warmup period before trying to play faster. Having the whole practice workout laid out in front of me forces me to adhere.
4) My exercises and practice material are not organized in the same place. I have an ad-hoc collection of bookmarks/emails/books/CDs/PDFs  Gitori allows me to create my own exercises and put all of them in one place.
5) I would like to track my progress by looking at data. I wanna know how many minutes I practiced last week. Was I able to consistently practice 5 days a week last month? Can I play faster than I could a month ago?
Tech stack: Rails/MySql/Redis(points/levels/leaderboard)/HTML5 Web Audio/MIDI-Quicktime
P.S.: I'm a Ruby/Rails developer based in the SF Bay Area looking to change jobs. If you have an opening and can file H-1/H-4 and Green Cards, ping me at info AT gitori.com <comment><USER2> It is really interesting how HTML 5 web audio is evolving !</comment>


Steve Jobs Stanford Commencement Speech 2005 - <AUTHOR> http://www.youtube.com/watch?v=D1R-jKKp3NA <comment><USER2> This was probably one of the more motivating speeches I've heard in a while. It's especially significant once you've watched Pirates of Silicon Valley.

I can only hope that - in the next decade - some of us will be giving speeches this memorable and inspiring.

</comment><comment><AUTHOR> Creidt: found in Jared Kim's weblog: <http://blog.jaredkim.com/></comment>


Slavery Still Exists - <AUTHOR> http://www.theatlantic.com/international/archive/2012/09/slavery-still-exists/262847/

<comment><USER2> They don't even mention the United States.

[http://www.washingtontimes.com/news/2011/apr/23/sex- traffick...](http://www.washingtontimes.com/news/2011/apr/23/sex-trafficking- us-called-epidemic/?page=all)</comment>


Mcsquare: A newsreader that makes you feel like an information glutton - <AUTHOR> http://thenextweb.com/apps/2010/10/07/mcsqaure-a-newsreeder-that-makes-you-feel-like-an-information-glutton/

<comment><USER2> In my opinion, <http://newsmap.jp/> executed a similar concept better

<comment><USER3> I actually like <http://www.newser.com/> best.</comment></comment>


Story about getting US visa for React Conf - <AUTHOR> https://medium.com/@knowbody/visa-fatigue-65ea2f63ab36 <comment><USER2> Sorry for your experience. But this is the problem with US visa process—it is not at all objective. It is very subjective and depends on the person interviewing you. Chances are that if you were allowed to speak to a completely different person in the embassy you would've had had a different outcome. A point-based VISA system, like that of UKs, allows you, to some extent, determine the outcome of the application process even before you step into the embassy.

I've had a similar experience, not in terms of the outcome (I got my visa) but in terms of the questions when I applied for a USA visa a couple of years back. And I am an Indian, and embassy was in India. But the questions were pretty similar. The only difference was I was applying for a tourist visa.

</comment><comment><USER3> I've had similar experiences with foreign family members attempting to visit me, a US Citizen. It's just a roll of the dice, no matter how prepared you are, no matter how much evidence you have. It's all extremely subjective.

Despite what the US immigration authorities think, not everyone wants to give up a well-paying job and universal health care in their home country and move to America to take an illegal cash job as a dishwasher.

</comment><comment><USER4> If you require a visa to visit a country where you need a visa, I would suggest contacting the organiser for an invitation letter. Organisers of international conferences are used to getting this kind of inquiry, and know how to deal with it. I have the feeling if the author had been able to produce an invitation letter in the beginning, he would have been much more likely to be able to attend the conference.

<comment><USER5> I don't know much about this stuff but I doubt it would work. For invitation generally there's some degree of responsibility put on the person sending out the invitation. If you are a random internet person buying a ticket they are probably not allowed to "invite" you because at that point it's like ... "why did you invite this person? do you know him?" .... "err ... because he paid $X for a ticket".

<comment><USER6> I'm the author of this blog post. And I don't think the invitation was the main issue here. I did have a ticket, and I wasn't visiting any friends there who could invite me. Also I haven't been asked about the invitation letter during the main interview, I haven't even been asked why I don't have it or anything like that...

I think the main issue was my not permanent employment, here, in the UK. I just don't like the way the officer was interviewing me.</comment></comment></comment>


Anyplace.io – find remote jobs - <AUTHOR> http://anyplace.io

<comment><USER2> i like the thank you page</comment>


Show HN: Todo List, Daily Kanban, Colors, Tags (I Built It) - <AUTHOR> https://tidily.io <comment><USER2> This is an interesting tool that looks like a simplified Keep but with categories, which is a huge plus. Will you offer sharing/collaboration with other users?

<comment><AUTHOR> Hey thank you so much for checking it out :), To answer your question , yes we will offer collaboration and shared space + a lot is coming soon like repeat tasks , dropbox and drive integration etc.

Also not just categories, you can use tags as kanban board in kanban view and also has daily kanban for tasks with due date. Pro tip: unlike keep you can use multiple tags to filter lists.</comment></comment>


Effective Python: Consider Coroutines to Run Many Functions Concurrently - <AUTHOR> http://www.effectivepython.com/2015/03/10/consider-coroutines-to-run-many-functions-concurrently/ <comment><USER2> I'm the author! Let me know if you have any questions.</comment>


Ask HN: Selling/licensing a white labelled iPhone app - <AUTHOR>

I have a paid iPhone app which is making me reliable income. There is now an opportunity to sell it as a white label product to someone who will make it available free, with some features removed, and possibly a few additional features. This is primarily a marketing maneuver for the buyer, who will provide the app to its users using their service, which is tied to my app's niche.
Does anyone have experience doing this, or thoughts to share?
I can think of a few points of consideration:
1. Potential loss of income due to it being available free from someone else. The buyer has a bigger presence and can tap into a bigger market.
2. Build vs. buy and alternatives. The buyer may potentially build their own. My app has been in production for 2 years, with battle-tested code. There are possible, existing alternatives to mine, but I do not know if they are probable (i.e. in terms of willingness, interest, price, etc).
3. Legalities. We aren't lawyers, but what are key things to be aware of. Eg. I will be continuing to sell my app. What's stopping them from re-selling it. I prefer a simple license rather than 1 which no one can understand.
4. Time and effort. Other than the obvious time needed for changes to the app's features, what else is required? Eg. what's a reasonable time period for handholding, providing support
5. Ongoing support. What's the practicality of providing an ongoing source update, or should it be a one time transfer of the code snapshot.
6. What are guidelines to figuring out the magic number? <comment><USER2> Is there a possibility that you could establish a partnership instead? It sounds like this "someone" simply wants to offer your app as a bonus of sorts to their market. You could provide a special free version of your app to their customers, and reap the benefits of those who upgrade to your normal paid version.

This path would limit your potential loss of income, keep your code under wraps, and provide you with an incentive to support the free app users (make them happy = profit!). Theres risks and rewards associated with any integration strategy; weigh them out carefully and hopefully that will at least point you in the direction of your magic number</comment>


Ask HN: Best iOS app analytics to understand the demographic - <AUTHOR> <comment><USER2> My suggestion would be to use a combination of Mixpanel (for detailed, granular data) and Facebook analytics (for the strongest demographic data).

Demographics is also something that you don't need a gigantic sample size like you would an AB test. So you can do something like present an incentivized (rewarded with in-app currency or an unlock or something) survey to some percentage of your users at random and you'll get a reasonable picture of your userbase.

<comment><AUTHOR> Cheers. Mixpanel is out of our price range. Will try Facebook and Google for now.

</comment></comment><comment><AUTHOR> Amazon just launched their own mobile analytics, wondering if anyone here had any first hand experience, how it would compare with google, what are you using?</comment>


Book sheds new light on Nazi Germany - <AUTHOR> http://www.telegraph.co.uk/books/what-to-read/wolfson-history-prize-2016-this-brilliant-book-sheds-new-light-o/ <comment><USER2> It's odd (but maybe not surprising) how much fixation there is on concentration camps, the focus of the book, as a synecdoche for Nazi Germany as a whole, when they were only really up and running for the last 4 years or so of a 12 year rule.</comment>