New Kid on the Blockchain - <AUTHOR> http://www.nytimes.com/2016/03/28/business/dealbook/ethereum-a-virtual-currency-enables-transactions-that-rival-bitcoins.html?_r=1 <comment><USER3> Ethereum becomes useless as soon as it interacts with the real world. Its brave new world of digital contracts works fine for creating simple gambling games or 'provably fair' Ponzi schemes, but as soon as a piece of code on the blockchain has to rely on a real world piece of data, you lose _all_ of the benefits of the system.

You want to write something related to (say) a share price, or property ownership? Then your code needs to trust an external system providing the data, and the users need to trust that other people will honour the 'facts' decided by your program on the blockchain.

You want to create even a simple system that opens a lock when someone pays money? (The much-hyped Slock.it startup selling 'smart' locks) The blockchain makes no promise that a physical lock will operate based on bits in the blockchain. You have to trust that someone isn't cheating you.

And why is this need for extra trust a problem? Because once you require trust, you are back into the real world where we already have real solutions to these Ethereum based problems, that rely on trust (e.g. Share dealing, property sales, etc). By moving onto the blockchain, you have gained nothing and only complicated matters.

It's like the IoT: putting a blockchain into an existing system is just as helpful as wiring your fridge up to the Internet. For anyone getting seriously involved in Ethereum, sorry for your loss.

<comment><USER4> If you are sure that the Ethereum project will fail, I'd be happy to take on bets 1 : infinity. I pay you $1 if the project is no longer around, say 10 years from now, you pay me everything you have otherwise. It would only be rational for you to take this bet, since I'm offering you a free dollar according to your beliefs.

EDIT: the intent here was to expose overconfidence and vague predictions, not pay fan service to ethereum or suggest an actual bet. if anybody is interested in how to make proper predictions, I recommend the books by Philip Tetlock, especially the latest called Superforecasting [1].

EDIT2: I wasn't aware my views are so controversial, so here is some more background: If somebody was convinced something couldn't happen, he'd assign a probability of 0 to that event. If that person wanted to act according to her believes, taking on bets, no matter the odds, would have positive expected utility. Since almost nobody takes on such bets, it suggests that we generally over-exaggerate when we say things like "impossible" or "sorry for you loss", hence we are being overconfident. The other is vagueness. By not being clear about what exactly we are predicting, we're leaving the door open to back out of it later. In fact, Tetlock has found that, by making vague predictions, experts could later convince themselves (and others) that they were "close", skewing their sense of accuracy. Unfortunately, when subject to a prediction tournament with strict rules, they would score no better than random [2].

[1]: [http://www.amazon.com/Superforecasting-The-Art-Science- Predi...](http://www.amazon.com/Superforecasting-The-Art-Science- Prediction/dp/0804136696)

[2]: [http://www.amazon.com/Expert-Political-Judgment-Good- Know/dp...](http://www.amazon.com/Expert-Political-Judgment-Good- Know/dp/0691128715)

<comment><USER5> >if the project is no longer around

You're offering a nonsensical bet.

We live a world where people often delight in keeping obscure things alive. Even [http://nyan-coin.org](http://nyan-coin.org) still has a following!

As an illustration of what I mean, I'll be incredibly surprised if bitcoin ever truly dies, and the price ever truly tanks. I'd expect coins to remain above $100, as a few people will flat-out refuse to sell for less, and minimal trading will still take place. Anything in the "real" world though? naaaaah.

<comment><USER4> Yes, I have to admit it's vague. Price below $1 or not traded at all, would be a better condition. Maybe add some trade volume requirements as well.

<comment><USER5> >Price below $1 or not traded at all

All it'd take is two bored people to stop this from happening, merrily trading just for their own delight.

As with bitcoin, I'd be really surprised if any of these coins stopped being used entirely, thanks to tech enthusiasts keeping them alive.

<comment><USER4> Generally, there has to be some condition on which to judge the success of a project.

<comment><USER5> >Generally, there has to be some condition on which to judge the success of a project.

So why not try offering a bet on the success of a project, rather than going through the horror of trying to prove a negative?

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Proponents of Ethereum ignore the fact that Ethereum fails to address any of the most significant problems in Bitcoin. Bitcoin's major advantage is decentralization, and it's about the only thing that Bitcoin does better than anything else. Bitcoin is an extremely expensive way to build a financial system, and there's no reason to go through the trouble unless you are utilizing the decentralization.

Bitcoin's major problems are scale, miner centralization, and developer centralization. Ethereum is worse than Bitcoin in all three respects. Transactions on Ethereum are heavier, develoepment is very heavily controlled by the Ethereum foundation and by Consensys, and the block algorithm in Ethereum more strongly favors larger miners as compared to Bitcoin (which already favors bigger miners).

Further, the Ethereum develoepment team is under qualified. There have been several ametuer mistakes, including allowing negative balance, leaking private keys, and putting consensus at risk by advocating that different users should be running different consensus codebases. Most of the highly capable developers in the cryptocurrency ecosystem avoid Ethereum because it's not been constructed well, nor does it's design suggest strong resistance to adversarial environments.

Bitcoin did go through similar growing pains. Bitcoin did have many ametuer mistakes when getting started. But those have all been fixed, and there is a positively enormous amount of competent mindshare powering Bitcoin, and the thoroughness of decentralization in Bitcoin is unmatched by any altcoin, including Ethereum.

Ethereum has offered a lot of cool tricks with its turing complete scripting language, but is standing on a house of cards. It scales less well than Bitcoin, it's design more heavily promotes centralization, it's development is more ametuer, and the potential applications offered by its fancy scripting language are not actually that much stronger than what you can do with Bitcoin. The showcase applications such as Augur and Slockit suffer from weak cryptographic fundamentals and under-qualified developers even worse than Ethereum does.

<comment><USER7> I have a hard time imagining a proof of work based distributed system that isn't guaranteed to be monopolized after a sufficient amount of time.

Work -- any form of work -- is subject to industrial scaling effects and economies of scale:

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

Meanwhile all these POW-based currencies have deflationary economics and deflating mining revenue due to rising difficulty. That makes less efficient mining less profitable over time, driving smaller miners out of business and accelerating the effect. Any proof of work based system like Bitcoin or Ethereum will in the end be monopolized by whomever has the cheapest electricity, cooling, and hardware, and the most labor-efficient mining operation.

This is the most powerful bearish argument on Bitcoin and other cryptocurrencies that I have. Gold and other hard currency materials are randomly distributed by geology and physics, helping prevent total monopolization of mining. Paper currencies are monopolized by default, so you know it's controlled by the Fed or some government... the devil you know. But these things are guaranteed to be monopolized by... uhh... we don't know yet. You could end up with a currency controlled by Kim Jong Un or Dr. Evil and his white Persian cat. (I'll take Dr. Evil.) Serious global organizations are not going to adopt a reserve currency whose future control is up for grabs by whomever can build the most efficient data center and/or snow over the development community most effectively.

That's why Chinese miners have so much power on the Bitcoin block chain. Cheap coal and a total lack of an EPA makes power very cheap for them, and they also have local access to very cheap labor and cheap hardware production.

In the very long term if Bitcoin or any other POW-based currency became cumulatively worth enough, someone in a chilly place like Russia, Scandinavia, or Canada could build a hydroelectric powered arctic circle (free cooling) super data center full of ASICs and own the entire block chain. There are places on Earth with unbelievably cheap power (big hydro, constant prevailing winds, etc.) and free cooling due to a cold local climate. A coastal location in the arctic using arctic seawater for cooling and a dam on a local river would be ideal. Nobody would be able to compete with that.

Bitcoin has two big things going for it, at least insofar as the mainstream market is concerned:

1) The 2008 financial crash and its terribly bungled and corrupt aftermath destroyed peoples' long term faith in the "devils we know," creating essentially a market niche for a competing financial system that offers better governance and transparency. Bitcoin, Ethereum, etc. and the many companies working in these ecosystems are trying to address that niche.

(Side note: I wish the West's leadership would wake up and realize just how profound a loss of confidence occurred in 2008-2009. I don't think the effect has manifested yet. It's too deep and profound a loss of faith and the population is still processing it.)

2) Existing methods of sending cash overseas like Western Union are absolutely freaking horrible. We've used Bitcoin to pay overseas contractors because it amounts to only one root canal vs. Western Union's three or four tooth extractions with pliers per payment. Bank wires requires that I physical visit a f'ing physical bank, which is even worse.

That means though that Bitcoin's advantage would disappear if:

1) Entities like the US Federal Government and the Federal Reserve took actual steps to reform themselves and implement a plan of action for dealing with things like the 2008 crash that is more honest, equitable, and well thought out than "yank money out of our arse and hand it to other Yale alumni until the fires go out."

2) Companies like Western Union realize they are in the 21st century and act accordingly, implementing low friction easy to use methods of wiring money with low fees.

Bitcoin would still have a niche if those two things happened, but its niche would be smaller and probably further outside the mainstream of commerce.

Of course if Bitcoin ends up controlled by the Chinese PLA, none of those above advantages might matter much.

<comment><USER8> The only way I see to prevent PoW mining from becoming centralized is to make mining unprofitable altogether.

This requires having enough miners willing to mine at a loss, just like we have millions of people willing to play the lottery at a loss.

In fact mining should be made to resemble an ongoing lottery as much as possible, by

1) limiting the custom hardware efficiency advantage to less than an order of magnitude, using a memory bound PoW

2) allowing users to mine with a single click, either to install an app that mines on their smartphone while charging overnight, or from their WebAssembly supporting browser

<comment><USER7> Interesting... and I wonder if the best option would also be to concentrate mining rewards. Mining gives you a chance to win very big. In that case it would become equivalent to the lotto, and would result in a financial system sustained by gambling.

You could argue this would be morally superior to one sustained by bloodshed and political power mongering. (Fiat currency is ultimately backed by state power, a.k.a. violence.)

</comment></comment></comment></comment><comment><USER9> Ethereum boosters have really been taking advantage of the strife in the Bitcoin community over the past two months. There was a massive private message spam campaign on Reddit and then when classic didn't immediately win there were a ton of "I sold all my btc and bought ETH" posts many of which were probably spam. The Peak in ETH price was a few days ago around 14 and the price has been tanking since. These NYT pieces will probably give it another leg up though.

The funny thing is that there are very few exchanges where you can buy ETH for USD directly instead you have to first buy BTC then exchange it for ETH.

</comment><comment><USER10> Wow, great publicity for Ethereum. Except, they can't ever bring themselves to explain what it does, or what it means. We're missing the 'why'.

<comment><USER11> Vitalik explained it pretty well at a recent talk he did at Coinbase:

Ethereum is a world computer. As in, it acts like a single public computer that can perform computations for anyone who is willing to pay for them, but instead of this computer being run by a third party, it's run by the network as a whole.

This is useful for any situation where you would usually need a trusted third party to perform some computations or enforce one side of a bargain - <USER2> example ecommerce/escrow, trading, voting, bets, issuing stock/currency, plus other things that probably have not even been thought of yet.

I agree, it can be a pretty wishy-washy mission statement at times. But then again, so was the idea of a global communications network where anyone could communicate with everyone and publish their own content in the 1980s.

<comment><USER12> The bit that I don't get is how Ethereum will communicate with the outside world.

Example: I bet a friend that Hillary will be the next president. We create an Ethereum app/contract/whatever and fund it with $50 (worth of 'ether') each. When the election rolls around, we want to pay the winner automatically, but how can you do that?

You could have a rule to check some 'official' source on the internet but that data could easily be faked or unavailable. Then what?

If this kind of app is not suited to Etherium, then what are some good examples of Etherium's capabilities?

<comment><USER13> Gnosis is a prediction market platform that is live on Ethereum right now. [http://groupgnosis.com/](http://groupgnosis.com/)

There are a few ways to act as the oracle who indicates what the outcome of an event was. You can tell users to just trust you, which is what every centralized prediction market does with few problems. You can pick a few trusted oracles and require a majority vote. Or you can use any data that is served over a TLS connection so the outcome can be cryptographically verified, which is what Oraclize.it does. All of these approaches work for Gnosis markets.

<comment><USER12> All of this was already possible without Ethereum. I don't see what Etherium adds to the equation here? For example with Bitcoin you can already create escrow accounts with trusted third parties (aka oracles) being the decider.

<comment><USER13> Prediction markets are bets among arbitrary, dynamic sets of stakeholders. The price of a bet depends on the bets that have already been made. Both of these characteristics require state to be maintained across transactions in ways that Bitcoin does not allow.

<comment><USER12> I don't follow what you mean, there are loads of bitcoin prediction markets. Adding Etherium doesn't give you anything new.

<comment><USER13> Gnosis runs on the Ethereum blockchain directly. The Gnosis team can't change the number of shares you own, for instance. Decentralized applications are safer for users. It was founded by the team that built Fairlay, a prediction market site that uses Bitcoin, because they believe that prediction markets should run directly on blockchains.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER14> Ethereum could quickly outdate itself by defining a fixed language. How will the language adapt? Very slowly by consensus if Ethereum hopes to become a large market player.

Bitcoin could be easily made Turing complete. If each transaction can store 80 bytes of information, then one could use 48 bytes to store code and the remaining 32 bytes to refer to another transaction storing the next block of code and thus chain together code. Unless I am missing something, a new currency is simply unnecessary, and will always be at a second-mover disadvantage.

Soon, I am sure a prototype of what I described will be released on bitcoin thus obscuring Ethereum. A solid use-case for distributed computing would be distributed HTTP delivery. If ethereum could offer a product for decentralized web-hosting, then I would buy into their product, but until then the whole situation is just vaporware to me.

<comment><USER11> > Ethereum offers nothing more than Bitcion

It offers a more powerful scripting language to define contracts.

> Ethereum could quickly outdate itself by defining a fixed language.

If offers a "bytecode" type language which can be created by compiling contracts in >=2 languages already. Bitcoin currently lets you define contracts in the equivalent of assembly code, with no higher level languages available. So this statment seems to apply more to Bitcoin than Ethereum.

> Bitcoin could be easily made Turing complete.

Bitcoin developers can't even agree to a simple block size increase. What makes you think they would be able to do something as complex as adding turing-complete scripting capabilities?

> Unless I am missing something, a new currency is simply unnecessary.

Since bitcoin does not support 2-way pegged sidechains yet, it's not possible to launch a new blockchain without launching a new currency to power that blockchain. Besides, you need a way to reward the miners.

> Soon, I am sure a prototype of what I described will be released on bitcion > thus obscuring Ethereum.

That's basically what Rootstock[0] is supposed to be. Although at present, it seems to be vaporware.

A year ago I used to have a similar viewpoint to you, that Bitcoin had such a massive first mover advantage and network effects that it would remain the dominant public blockchain, and that even as new inventions appeared, they would be backported to bitcoin. But over the past 6 months I've realized how useless Bitcoin is without a genuine respected leader/BDFL, and now think that without a leader it's doomed to design by committee and stalemate on key decisions, which leaves the playing field wide open for competitors like Ethereum.

[0] [http://www.rootstock.io/](http://www.rootstock.io/)

<comment><USER15> Bitcoin's problem is not a lack of a leader, it's problem is that the leader is Gregory Maxwell at Blockstream and he's a terrible decision maker. Blockstream is the source of the refusal to bump the block size.

Indeed, the block size debate did not stalemate. It resulted in the small blockists winning, due to the much more aggressive tactics they used (e.g. hiring a bunch of developers then asserting they'd all quit forever if the block size were changed).

<comment><USER16> Bitcoin's technical problems are that it fundamentally does not scale. If each node has to verify all transactions that is not sustainable in the long term. Hal Finney knew this way back: [https://bitcointalk.org/index.php?topic=2500.msg34211#msg342...](https://bitcointalk.org/index.php?topic=2500.msg34211#msg34211) "Bitcoin itself cannot scale to have every single financial transaction in the world be broadcast to everyone and included in the block chain. There needs to be a secondary level of payment systems which is lighter weight and more efficient."

<comment><USER17> It is a myth that Bitcoin requires every node to validate all transactions in the long term. That's why the white paper explains the need for spv clients.

[https://bitcoin.org/bitcoin.pdf](https://bitcoin.org/bitcoin.pdf)

Moreover it a red herring to assert that Bitcoin has to scale to support every single financial transaction in the world just like it would be a red herring to attack the architecture of the Internet because it cannot scale today to include every form of communication we perform today.

Red herring/ strawman / Nirvana arguments are the defense for the entire small block position. Bitcoin, like every other information technology, does not need to meet every need today. It simply needs

1\. Sufficient free capacity to encourage growth, and

2\. Continuous improvement

<comment><USER16> Seem like you don't see the x^n argument. It should be obvious. Satoshi/Hal Finney were well aware of this, see the link. This has nothing to do with SPV. Producing blocks is what's important.

<comment><USER17> I searched the link. Satoshi did not post in that thread and there is no mention of "x^n"

Maybe you should present the argument, since it wasn't presented where you said I'd find it.

</comment></comment></comment></comment></comment></comment></comment><comment><USER18> Is it naive to think this NYT article will cause the ETH price to go up for the next few days?

Suppose the article has 10M viewers, 1% decides to buy some ETH for investment, on average $500, that means $50M of extra demand in a matter of days. (These numbers are wild guesses.) Current daily trade volume is $25M.

<comment><USER19> It's not naive, but there is no Coinbase for Ethereum so you need some knowledge to run the node (also, it is not just running it because sometimes it fails to work properly). Taking into account this friction less people will try.

<comment><USER20> People can buy ether on Bitfinex, Kraken, and Poloniex. The first two take dollars, the last only bitcoins.

</comment></comment></comment><comment><AUTHOR> (The title of the HN post is the updated title for the article, as it will appear in Monday's NYTimes print edition - See article footer.)

</comment><comment><USER21> I've been into Bitcoin (and Litecoin) since the early days. Well, relatively early. Ethereum really has me interested.

<comment><USER22> No one needs smart contracts. And the value proposition of Ethereum will require an inordinate need for ether in order to support the mining requirements of the chain. This project is a scam

<comment><USER23> Personally I'd be happy to pay way over market hosting rates to host, say, my articles of incorporation, equity trades, and accounts receivable. That seems like one of the most exciting uses of ethereum to me. Write a plugin to "export to IRS".

<comment><USER24> Why not just use a database? what do you think the advantage of using Ethereum for this is?

<comment><USER23> Each party can audit the contracts and infrastructure at any time.

There's also an easy path for a dissenting quorum to reincorporate on their own.

</comment></comment></comment></comment></comment><comment><USER25> For anyone who wants to get into Ethereum or buy Ethers, here is some great info on getting started: [http://www.blockgram.com](http://www.blockgram.com)

<comment><USER26> You should mention if you are affiliated with this site.

<comment><USER25> Yes, I wrote the tutorial. I am not associated with any of the companies providing the services I mentioned in the blog. Thanks for pointing it.

</comment></comment></comment><comment><USER4> The 'emperor has no close situation' with all blockchain technology is that they simply don't scale to any real-world capacity. What sets ethereum apart in that respect, is that they at least have a plan about how to solve it. It is far from clear if it will even work and if they will be able to switch out the engine of a running blockchain, but if they are able to pull it off, I guess it would be a big deal.

<comment><USER27> Blockchain technology is a big area, proof of stake vs proof of work debates are interesting but there are simple mechanisms that provide different levels of trust in different settings. For example a simple 2/3 membership vote implemented in a closed system can provide substantial trust - although not perfect. On the other hand if 60% of your proof of work capability lives behind a firewall and may in reality belong to one actor due to that actors track record of kidnapping anyone behind the firewall that disagrees with it then you have an imperfect situation as well.

</comment></comment><comment><USER28> One of the 'selling points' of Ethereum is the 'global computer' aspect. Essentially Ethereum is designed so that you can put programs on the block chain. Programs that can be called transactionally and where the result of the program is guaranteed to be correct.

Why is this important? Well, lets imagine a dice game. If on a traditional server, the program can cheat and give an unnatural edge to the site-owner. With ethereum programs, you can look at the source and know that said dice program is 'fair'. At the same time, from the perspective of the programmer, the blockchain ensures the users can't cheat you, either.

Now this sounds cool, but I can say from first hand experience that this is actually kinda trash. Last I looked into this (around October), programs were limited to a _very_ low number of clock cycles before the program cancelled out.

How long a program would be too long? Through experimentation I found that a program more than about 30-40 lines of their C-like language would regularly hit the limit. What happens when you hit the operations limit? the program rolls-back without any effect, eating your transaction fee. Now, you can pay for more operations, but there is a limit. Even with the max number of operations you can't do too much. You can store values on the block chain, but any write or update takes up an substantial amount of 'gas' (the unit of currency for computation and storage).

So to imagine the limits, their 'global computer' acts like a coin-op machine where each quarter gets you 40-50 bytes of storage OR maybe 500 clock cycles on a virtual CPU. But, if the program tries to use more than a quarter, everything is rolled-back and your quarter is gone. (There is (last I checked), no way to know if your program will go over. Just trial and error).

Not only that, but (last i checked), the programs were compiled to a bytecode and there was no dissembler. Meaning that if someone wants to verify a program, they need the exact source code and exact compiler the dev used, and must MD5 the results.

Beyond that, there isn't really any good testing tools. Last i checked, the only way to run a program is to deploy it. So, you have to setup your own private chain to test on and continuously deploy and wait and test. There was a way to sort-of put debug prints in your program, but remember how I mentioned that a program that fails rolls-back? Well, it won't output anything either. And there were operations (some undocumented) that would simply crash the program. Index-out-of-bound? Silently crash program. AND the act of debug- printing would take up valuable storage (pushing your program over the edge of the limit).

In summary, the 'global computer' is so limited to be practically useless and the development process is (currently) a fate worse than hell.

/rant

<comment><USER13> (Readers who have similar developer questions should check out the Ethereum Stack Exchange. It's really useful! [https://ethereum.stackexchange.com/](https://ethereum.stackexchange.com/))

Blockchains have to produce new blocks regularly to be useful. Think of the gas limit like the amount of time you have to render a new frame in graphics applications. If you have unbounded computation in a time-dependent system that anyone can submit instructions to, you're gonna get some DoS attacks.

> _There is (last I checked), no way to know if your program will go over. > Just trial and error_

It's easy to check: blockchains are deterministic state machines. You can simulate a transaction to see what would happen with the current state, and as long as the state of your contract isn't modified by another transaction in the meantime, you'll get the same results on the chain.

> _Last i checked, the only way to run a program is to deploy it. So, you have > to setup your own private chain to test on and continuously deploy and wait > and test._

Most developers use TestRPC to simulate a blockchain. It's like developing a web app with SQLite or another in-memory database.

[https://github.com/ethereumjs/testrpc/](https://github.com/ethereumjs/testrpc/)

[https://truffle.readthedocs.org/en/latest/](https://truffle.readthedocs.org/en/latest/)

</comment></comment><comment><USER29> Just want to mention RootStalk here, make bitcoin on par with ethereum in regards to smart contract.

</comment><comment><USER30> Although superficially 'almost' as large as Bitcoin in terms of market cap and transaction volume, the amount of hash power securing the Ethereum network is several orders of magnitude lower:

Bitcoin: 1.2 Exahash / second

Ethereum: 1.6 Terahash / second

<comment><USER31> Comparing the two is completely meaningless. Ethereum's hash function (Ethash) is orders of magnitude more expensive than Bitcoin's SHA256. And also, it is ASIC-resistant.

<comment><USER30> Good point, a better way to compare would be the Watts consumed by each network: that gives you the minimum energy costs required for a 51% attack. Unfortunately I can't seem to find any typical "hashes per joule" numbers for Ethereum mining rigs that would allow us to extrapolate this. I still speculate it would be orders of magnitude more expensive to launch such an attack on the Bitcoin network.

<comment><USER8> The mining reward itself is a good estimator of the energy cost (an over- estimate in fact since the reward has to cover both energy costs as well as hardware investment/depreciation, but the former dominates the latter).

So attacking bitcoin costs roughly 150BTC per hour, while attacking Ethereum costs roughly 1200ETH (worth about 30BTC currently) per hour.

This suggests Bitcoin is 5 times more "secure".

<comment><USER30> Mining reward and exchange rate gives us a strict upper bound on the cost of energy it's economical to spend on mining but I'm not sure it provides a good estimate of the actual energy being used. If energy_used = mining_reward * exchange_rate, an increase in hash power would be correlated positively with exchange rate.

In reality, Bitcoin hashrate has increased over 30x in the last 2 years and the exchange rate in USD has actually decreased in the same period. That suggests we aren't using anywhere near the upper bound of energy that remains economical.

Given that Bitcoin network performs 1 million x as many hashes per second than Ethereum, the energy cost per Ethash must be somewhere like 200,000x more expensive than SHA256 to compute if we are to assume Bitcoin is only 5x as 'secure'. I have't fired up an Ether mining rig to test whether that is the case or not, but it seems highly unlikely so I'm still maintaining a 51% attack against Bitcoin is orders of magnitude more costly to perform than the equivalent attack on Ether.

Realistic 'energy use per hash' for SHA256 versus Ethash would be good numbers to have that either refure or back that up.

UPDATE: found some numbers from mining rig data. We can use 'hashes per joule' numbers for the most efficient Bitcoin mining rig and Ethereum mining rig.

Top Bitcoin mining rig performs 4000 Mhash/J according to [1]

Top Ether mining rig performs 0.08 Mhash/J according to [2]

So if every miner achieves those numbers, the Bitcoin network is currently running around 300,000,000W versus 20,000,000W on Ethereum network (15x).

So, perhaps not orders of magnitude more secure, but probably at least one! (for the time being).

[1] [https://en.bitcoin.it/wiki/Mining_hardware_comparison](https://en.bitcoin.it/wiki/Mining_hardware_comparison) [2] [http://www.vmxlabs.com/](http://www.vmxlabs.com/)

</comment></comment></comment></comment></comment><comment><USER32> Ethereum is a distrubuted JVM basically? Guess its alright if you wanna run a casino that can't get taken down, otherwise I dont know what kind of uses you can find for this thing.

<comment><USER33> Except much much more limited and every line of code costs way more money to run on one computer while only acting as if it was ran on a single computer in practice.

<comment><USER32> Thats exactly why I mentioned an application such as a casino - the vm will provide guarantee of a payout. People will pay for that, but they won't pay for you to run 3D games on the thing.

</comment></comment></comment><comment><USER34> Corporate handling bitcoin... Interesting.

<comment><USER4> I'd say this is corporate handling bitcoin: [http://chain.com/](http://chain.com/)

</comment></comment><comment><USER35> Great. More fools for the fire.

</comment><comment><USER36> Being honest sometimes results in being a jerk. No big deal, an emotionally mature adult can handle it.

<comment><USER37> Your last statement is true, but your first one couldn't be more wrong.

Being honest never requires being a jerk. That is always a choice you make.

<comment><USER38> If I tell a fat person that they're fat, and they are, they can perceive that I'm being a jerk, but they're still fat, and my statement is still objectively true. The perception of the truth being spoken by me as negative comes from the receiver--it's their issue with the statement that attaches emotion, not mine.

Remove context from his statement and surrogate anything we have objective knowledge of (e.g. housing market 2009) and the statement morphs from "arrogant prediction and condescension" to an appropriate comment on reality.

<comment><USER37> Remove the context from a statement and it is no longer communication.

There are very few contexts I can think of where "telling a fat person they are fat" is useful information for that person.

"Being honest" isn't a valid defense against being an asshat.

</comment></comment></comment></comment><comment><USER39> So is it time to invest in ETH?

<comment><USER40> yes

</comment></comment><comment><USER41> You cease to exist as an Independent Nation if you can't print your own currency</comment>


How I became a "payer" after spending my Internet childhood as a pirate - <AUTHOR> http://aroundthe.net/software/from-web-content-pirate-to-payer/

<comment><USER2> I think that with the number of children who have internet, paying simply isn't an option. Before I had a credit card, I would have to have an awkward conversation with my parents about what I wanted to buy and why. If the abilities for children to pay money on the internet increases (e.g. an online allowance service), piracy in that segment will probably go down, as children start to recognize that things on the internet cost money and can be easily paid for.</comment>


Sudoku Solving - <AUTHOR> http://norvig.com/sudoku.html

<comment><USER2>
      Why did I do this? As computer security expert Ben Laurie
      has stated, Sudoku is "a denial of service attack on human
      intellect". My wife was infected by the virus, and I wanted
      to convince her that the problem had been solved and didn't
      need any more of her time.

Very true.

<comment><USER3> Now lets go back to watching TV!

<comment><USER4> Nah, that's a solved problem. I let my VCR watch TV for me. Now if I had an electric monk, I could stop believing in things.

</comment></comment></comment><comment><USER5> I remember doing something very similar in college. My first cut used a hideous object model, but my second go at it used a 3 dimensional matrix to track all of the data and was much faster and space efficient.

The "Why?" at the end of the article pretty much sums up why I can't play most board games and puzzles. Once you 'solve' sudoku, chess, connect 6, ect. it really takes the fun out of it, even if your brain doesn't calculate the solution as quick as your code.

<comment><USER6> Doesn't apply to chess imho. I still keep discovering different views of the game on occasional plays. The standard algorithm takes too much time, so you have to find out how to see what's important.

<comment><USER4> I played chess for a while in a chess club. But to become any good you need to memorize a lot of positions to be able to efficiently recognize good moves. Playing creatively to have fun almost always leads to defeat.

</comment></comment></comment><comment><USER7> Norvig tries to test his program against the hardest puzzle he can find, but only tries to find this hard puzzle by generating random ones. The program Sudoku Susser (<http://www.madoverlord.com/projects/sudoku.t>) actually comes with "the hardest sudoku in the world", which I think the author of that program has proven somehow, so Norvig should try his program on that.

Sudoku Susser can solve sudoku puzzles not only the brute-force way shown in the article, but also using "human" reasoning, and show you all the steps.

<comment><USER8> I wouldn't call constraint propagation "brute-force". It isn't enumerating every combination of values and backtracking (as either a non-contstraint Prolog program or a C program with up to 81 nested for-loops would). Rather, it's removing every possibility that has already been canceled out (constraint propagation), then saving undo information, making one guess, and seeing if that sets off another chain reaction or reaches a solution.

He acknowledges the possibility of using more "reasoning" in the article, but dismisses it:

" _We could try to code more sophisticated strategies. For example, the naked twins strategy looks for two squares in the same unit that both have the same two possible digits. [...] Coding up strategies like this is a possible route, but would require hundreds of lines of code (there are dozens of these strategies), and we'd never be sure if we could solve every puzzle._ "

If you want to read more about constraint programming, there is an excellent overview chapter in CTM (<http://www.info.ucl.ac.be/~pvr/book.html>). "The Art of the Propagator" (<http://dspace.mit.edu/handle/1721.1/44215>) is also good, though it focuses more on arithmetic value propagation than set propagation problems like sudoku. For more advanced material, look at the clp(FD) papers by Danial Diaz ([http://cri-dist.univ-paris1.fr/diaz/publications/cv- short.ht...](http://cri-dist.univ-paris1.fr/diaz/publications/cv-short.html)); familiarity with Prolog terminology will be helpful.

</comment></comment><comment><USER9> He could have used Mechanical Turk to solve them. ;)

Growing up, we had a favorite game. That is until my sister solved it in that going first you could _always_ win. It wasn't as fun after that.

<comment><USER10> <http://xkcd.com/832/>

<comment><USER9> I like that one.

Ours was a different game: Mühle. Also Mill or Nine Men's Morris.

I just discovered that Ralph Gasser solved it in 1996 using retrograde analysis and an 18-ply alpha- beta search. [1] Becoming "the first non-trivial game to be solved that does not seem to benefit from knowledge-based methods."

[1] <http://library.msri.org/books/Book29/files/gasser.pdf>

</comment></comment></comment><comment><USER11> Would be interesting to see how this fares performance-wise in comparison:

[http://corp.galois.com/blog/2009/3/18/solving-sudoku- using-c...](http://corp.galois.com/blog/2009/3/18/solving-sudoku-using- cryptol.html)

It's a sudoku solver based on Cryptol, which is "... a language tailored for cryptographic algorithms." built on top of Haskell. The amazing this is that all you need to define is a function that checks whether a given board is solved. Cryptol does the searching for you!

</comment><comment><USER12> I find that calculating the sequence of stereo pairs for an MP3 file is much simpler and more accurate if I dispense with the human listener.

For instance, I just rendered "In the Year 2525" 593 times faster than a human can listen to it on a single thread of a core i3.

</comment><comment><USER13> Reminds me of:

[http://blog.jgc.org/2010/01/more-fun-with-toys-ikea- lillabo-...](http://blog.jgc.org/2010/01/more-fun-with-toys-ikea-lillabo- train.html)

</comment><comment><USER14> Can someone explain the Ben Laurie quote? I know what Sudoku is, and I know what a DOS attack is. I don't see the connection between the two.

<comment><USER15> Sudoku has a human using their mind to solve things which don't need to be solved. A denial of service attack leaves a computer trying to handle things which don't need to be handled. So they have something trying to deal with things that don't need to be dealt with.

<comment><USER14> Thank you.

</comment></comment></comment><comment><USER16> I wrote one in JavaScript a long time ago, again using a simple backtracking algorithm.

<http://www.amrittuladhar.com/projects/sudokusolver/>

EDIT: Just realized the "load puzzle" feature doesn't seem to work on Chrome, but it does in other browsers.

</comment><comment><USER17> If you really want speed, then I would recommend using a good implementation of Dancing Links for solving constraint satisfaction problems. Don Knuth proposes a doubly linked list structure to speed up recursive state space exploration: www-cs-faculty.stanford.edu/~uno/papers/dancing-color.ps.gz.

<comment><USER18> Mentioned this below as well, but got a pretty straight forward ruby implementation of Knuths Dancing Links up at:

<https://github.com/biilmann/Ruby-DLX-Sudoku-Solver>

It's not hyper-fast (for speed I actually implemented it as a c-extention to ruby, but it's a long time ago and I don't think I have the code around by now) but being ruby it's fairly easy to read.

Can really recommend reading the paper on Dancing Links and playing around with the algorithm, its such a great feeling once you start visualizing how the linked list trick works :)

<comment><USER19> Dancing Links is definitely a fun algorithm to implement. I wrote one in Python a while back and included an option to generate graphs as it went through the recursion tree. I put up a quick page at <http://cavernum.net/dlsudoku/> demonstrating them.

</comment></comment></comment><comment><USER12> Sadly it is a backtracking algorithm which is not proper Sudoku solving technique. (Opinions vary on the topic.)

<comment><USER20> I'm curious... what would be the 'proper' technique?

<comment><USER21> solving without trial and error at all.

<comment><USER20> That strikes me as _extremely unlikely_.

I think the complexity class of Sudoko is NP-Complete (a quick google confirms it's not exactly NP but very close: <http://11011110.livejournal.com/23221.html?thread=19381> \-- complexity is the same as solving SAT problems which have only one unique solution)

<comment><USER22> Glenn Flower has written an (open source) program that solves using constraint propagation only. It does solve some of the hardest Sudoku's.

He discusses the strategies used here: <http://www2.research.att.com/~gsf/sudoku/>

<comment><USER20> From the first paragraph of your link:

> The solver uses depth first and/or breadth first with constraint propagation > to prune the search

That would be backtracking.

Further, the purpose of many the constraint techniques seem to be aimed at creating puzzles that are amenable to humans, not solving them. The article itself states that for solving, backtracking with fewer constraints performs better.

<comment><USER22> You are right that "the purpose of many the constraint techniques seem to be aimed at creating puzzles that are amenable to humans, not solving them"

I shared the link because I found his sudoku generator and the constraint methods interesting.

> That would be backtracking.

Let me quote the first para in full:

      The solver uses depth first and/or breadth first tree search
      with constraint propagation to prune the search for the next
      best move (forms of forward checking.) There are space/time
      tradeoffs between depth/breadth first search and the constraints
      used; sudoku(1) has options to control the combinations.
      The common characteristic for all constraints, here and elsewhere,
      is that they avoid trial and error. Its fine for a computer
      to guess and backtrack but a definite breach of puzzle manners
      to require a human to do so.

I could be wrong but, yes, it does use backtracking to find the _constraint_ that can give a number for an empty cell but it never has to change a number it has put in a cell. That differs from the trial and error approach that moves forward by guessing values and checking if it leads to a valid solution.

<comment><USER20> The constraint-finding is for _generating_ puzzles that are easy, hence the comment about puzzle manners.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER23> I wrote one in C# a while ago:

[http://isaksky.wordpress.com/2010/10/30/objected-oriented- so...](http://isaksky.wordpress.com/2010/10/30/objected-oriented-solution-to- every-sudoku-puzzle-in-csharp/)

<comment><USER24> I did the same, need to dig into my back up hard drive to find it. Maybe i'm going to expose a REST api for generating sudokus. Do you think this might be interesting?

"Did you know that in order to generate a sudoku you need first to solve it?"

</comment></comment><comment><USER25> The answer is just 3 words: depth first search. I don't get why such a tedious article was written for such a simple, common, and obvious solution.

</comment><comment><USER26> <http://news.ycombinator.com/item?id=2374763>

another php version</comment>


Time Warner Cable says up to 320,000 customers' data may have been stolen - <AUTHOR> http://www.reuters.com/article/us-twc-cyberattack-idUSKBN0UL01P20160107 <comment><USER2> One simple trick to make it easier to determine the source is to embed a couple of sentinel records into your DB. That way if it does get leaked you are sure that you were the source and if another party is the source you will know this because your sentinels will not be present. This helps to strengthen the claim that the data was not leaked through your company (it is not a guarantee, after all it could be an inside job with the sentinels stripped but the chances are somewhat reduced).

</comment><comment><USER3> The U.S. needs consumer protection laws. Companies won't stop unethically collecting and retaining data on their own.

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

<comment><USER4> But don't companies need to collect and retain data to operate their businesses? Like they need your info to bill you, they need info to login to your account, your emails stored if you use their included email, etc.

<comment><USER5> Data can be deleted when it's no longer needed. Sale of data can be forbidden. Old data can be encrypted by the customer's public key so only the customer can initiate access. There are many ways to roll back the madness.

<comment><USER6> >customer's public key

The general public has no concept of what a 'public key' is.

<comment><USER7> a "public key" can also just be a secret. "Apple toothpaste monkey piano" is something someone can write down for recovery. they don't need to know; they just need to remember where they put it (which might be a stretch, yes, but it's better than storing things in plain text)

<comment><USER8> Actually... that'd be a private key.

</comment></comment></comment></comment></comment></comment><comment><USER9> Assuming the source of the credentials (malware, other breaches, etc) is correct, 320k isn't outlandish by any means.

My Twitter bot, @dumpmon, comes across thousands of leaked creds per day, and that's only on pastebin.

This, combined with "checker" services that can verify credentials to services like TWC make things like leaked credentials be correlated into "from these x unique dumps, we have a group of creds that all work with TWC as well".

My guess is that TWC was alerted to a file someone was trying to sell that took leaks from other public/private dumps or malware infections, checked them against TWC, and verified that they all happened to work. This would be why TWC wouldn't be able to pin down an exact source - there absolutely doesn't have to be just one source.

It happens more than you think.

<comment><USER10> Solid analysis, your guess makes a lot of sense IMO. I suspect that these kinds of "breaches" take place far more often than is reported -- I think until people are better educated about the importance of using unique passwords for their individual online accounts, it's an uphill battle.

</comment></comment><comment><USER11> Poor Time Warner, the little innocent lambs! I hope the responsible executives get a big raise and bonus to help make up for the emotional distress this must be causing them.

Fucking morons deserve jail time.

<comment><USER12> That escalated quickly...

<comment><USER13> Meh not really. If there were real repercussions to fucking up lives because you leaked their private data that would be one thing. Zero sympathy for the company as a whole.

</comment></comment></comment><comment><USER14> This will go quite well with their new "We at Time Warner Cable need to apologize to you..." ad campaign.

[http://www.webpronews.com/time-warner-cables-new-ad- strategy...](http://www.webpronews.com/time-warner-cables-new-ad-strategy- poke-fun-at-crappy-customer-service-2015-10/)

<comment><USER15> > The company said email and password details were likely gathered either > through malware downloaded during phishing attacks or indirectly through > data breaches of other companies that stored Time Warner Cable's customer > information, including email addresses.

If the data was stolen through malware then this isn't TWC's fault. People just need more education on how to secure their computers.

<comment><USER16> 320,000 people didn't download malware. A privileged user at TWC did.

<comment><USER17> And this seems to imply that the customer passwords stolen weren't properly salted/hashed/etc. If so, not the customers' fault.

</comment></comment></comment></comment><comment><USER18> Alternative headline: "Time Warner Cable fails to secure data, exposes 320,000 customers"

</comment><comment><USER19> Guess that explains why some random payments showed up on my credit card (used for recurring billing) and I just had to it cancelled and re-issued.

There were only a few other payments on the card - NYTimes, DigitalOcean. Are there any recent breaches at those companies?

</comment><comment><USER20> Most people in the US have no idea where there information is these days. Any start ups developing software that can monitor server connections and use ML to detect unauthorized or unusual connections?

<comment><USER21> Products range from anti-scraping (Distil) to intrusion prevention (Juniper et al) to traffic-shaping filters (Juniper et al) to content redirection (Netscaler) and beyond.

</comment></comment><comment><USER22> I like how they don't know where the data was obtained from, yet they know it didn't come from them.

<comment><USER23> How are these two things mutually exclusive?

</comment></comment><comment><USER24> The writing style makes it seem like there are unhashed passwords that were stolen. Very few details.

</comment><comment><USER25> Can I just skip the middle-man and sell my information directly to the criminals?

<comment><USER26> They don't pay for it. That's why they're "criminals". As opposed to the ones that buy it.

Either way, your privacy is dead, unless you can find a way to not have your home address on your account. I use a UPS box for everything... Except home utilities and Internet / cable.

<comment><USER22> I use my PO Box for everything but my phone, gas, electric, and Internet providers obviously have (need) my home address.

Your utility companies have yours as well.

</comment></comment></comment><comment><USER27> Note - this is likely not the result of a database breach. This is just notice that some malware has possibly been recording TWC passwords.

<comment><USER4> [http://www.nbcnews.com/tech/security/time-warner-warns- custo...](http://www.nbcnews.com/tech/security/time-warner-warns-customers- their-emails-passwords-may-have-been-n491686)

"In a statement provided to NBC News, the cable giant said "there are no indications that TWC's systems were breached," and suggested the mails may have been acquired earlier by other means, such as malware, phishing attacks on subscribers or security breaches at companies that stored TWC customer information."

So seems like it was just phishing and malware to the unlucky ones.

<comment><USER28> "or security breaches at companies that stored TWC customer information"

<comment><USER4> hmm wonder what they mean by that though. Companies they contracted with directly or for example maybe someone signed up for a forum or another large website using their same email and password as TWC email?

<comment><USER29> TWC sells all of the subscriber data that they legally can to 3rd parties, like most major companies.

<comment><USER30> But those passwords would be encrypted, as it comes from TWC. While any other 3rd party who gets it from user can altogether skip encryption.

</comment></comment></comment></comment></comment></comment><comment><USER31> It seems, US legislation on customer data protection needs an upgrade and proper enforcement of ISO 27001 adoption across companies dealing with private personal data. The cheaper alternative exists. To prohibit completely storage of personal data, and only accept transactions with anonymous cryptocurrency.

<comment><USER32> Ha! That is not how legislation in the US works.

I expect upping the sentence for accessing an "unauthorized system" to a top- level 40-year felony and everyone congratulating each other with a "well that should take care of it!" job well done.

Probably in the same bill, I would expect amnesty for management in exchange for whistleblowing on software engineers that did not follow "best practices".

And finally, perhaps some pamphlets with "tips" to "teach the public" what they can do to better protect their privacy ... none of which will involve not giving your information to large corporations.

<comment><USER33> Don't forget that they'll bundle it with a law that prohibits kicking puppies... so that if you point out the flaws or say it won't work, they can shoot you down as a naysaying puppy kicking sicko.

</comment></comment></comment><comment><USER34> Aww crap. I wonder if this applies to former customers / how far back. We were Time Warner until about 2005 when Comcast took over our area. Our service actually _significantly improved_ under Comcast.

</comment><comment><USER35> It's security, not PR, stupid! Time to get your hands dirty and IT shit done, stop keeping advertising, your moron!!

</comment><comment><USER36> What fraction of email traffic is sent or received by an ISP mail server?</comment>


Show HN: DropJar – pauseable, resumeable big file transfer - <AUTHOR> http://dropjar.com

<comment><USER2> So tell us a bit more about the technology behind it. Where are the files stored? etc.

Also curious as to why over 90% of your main homepage is a clickable area that takes me to dollarphotoclub.

<comment><AUTHOR> nodejs on the backend. the files are stored on local disk and backed up on Google cloud storage. Dollarphotoclub is this month's promotion. The back drop will be a big advert to various brands and I chose them as the first as I took the big faces that promote dropjar from their collection.

</comment></comment><comment><AUTHOR> Here is a little we Transfer competitor I coded in nodejs with the ability to transfer files for free up to 10GB but also the ability to pause and resume an upload later when you need the bandwidth. This is the main itch I was trying to scratch building this, I hate it when you start uploading a huge file and than want to browse the net,

Let me know what you think. and happy Christmas everyone :-)

<comment><USER3> Nice idea. I think this has been posted on HN previously right (e.g., [1])? Would be good to know what the biggest changes are since then.

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

EDIT: Added missing question mark.

<comment><AUTHOR> Not a lot of changes, but it's been a while and it was not getting the love it deserved. I fixed a lot of bugs, added T&C and a proper privacy policy etc. Added a help desk with FAQ etc.

</comment></comment></comment><comment><USER4> Nice;

One thing that I think will confuse people: When downloading a file the file name is some random string.zip which when unzipped puts the files in the same folder rather than creating a new folder with the same name as the zip.

<comment><AUTHOR> I understand, you mean you would like the zip to contain a sub folder with all the files in it. I was just following the example of other big transfer sites, assuming most users open up the zip with windows .. but for mac and linux I agree it could be improved.

</comment></comment><comment><USER5> Looks great and the whole idea is pretty neat

but in my opinion as a user, the UI could use some improvement as in some cues pointing to the jar or something similar.

<comment><AUTHOR> Can you elaborate? like an arrow or something that points there ?

<comment><USER5> As in an arrow or popup indicator getting the user's attention towards the jar. I understand the reason to keep it tucked away. But I clicked twice on the text appearing in the pictures(ads) hoping it leads to a howto or features page before I figured out that the jar contains link to the help/detail page.</comment></comment></comment>


MINIX 3: a Modular, Self-Healing Posix-compatible Operating System - <AUTHOR> http://www.youtube.com/watch?v=bx3KuE7UjGA?2

<comment><AUTHOR> The video is from 2010, but it provides an accurate introduction to MINIX 3.x by Andrew Tanenbaum himself. Version 3.2 was just released: <http://news.ycombinator.com/item?id=5272980>

Original post: <http://news.ycombinator.com/item?id=1494386></comment>


Show HN: Our personalized kids book iPad app - <AUTHOR>

Hello HN,
We've been working on porting our (http://www.littleheroes.com) kids books to the iPad - and now we've done that:
http://itunes.apple.com/us/app/little-heroes/id477247738?ls=1&mt=8
The app itself is free, each story is $4.99 as an in-app purchase. We've elected to keep our stories just that - stories. No moving parts, no audio, no animation etc.
Would love to hear feedback, suggestions, complaints etc. <comment><USER2> Looks really great! Curious if you could share how sales or downloads are doing. Have you tried any other price points, how do you promote each book, etc.?

</comment><comment><AUTHOR> Clickable link [http://itunes.apple.com/us/app/little- heroes/id477247738?ls=...](http://itunes.apple.com/us/app/little- heroes/id477247738?ls=1&mt=8)</comment>


Super-simple way of serving assets in Django that'll actually perform well - <AUTHOR> http://kennethreitz.org/introducing-dj-static/

<comment><USER2> About the only advantage I can see doing this is not having to specify any static directories in your Apache or Nginx config.

What is the use case that makes serving via Static preferable?</comment>


Whistleblowers: Drug company offered 'bribes' to doctors to boost sales - <AUTHOR> https://www.cnn.com/2019/04/30/health/mallinckrodt-whistleblower-lawsuit-acthar/index.html <comment><USER2> It's disheartening that this med is being used to treat infants and they wouldn't even leave those helpless babies alone. Healthcare is a $3.5 trillion dollar per year industry and is powering 20% of U.S economy, but I think the problem goes a lot deeper and further than just the medical field. This is a systematic issue across all industries where profits are increasingly being prioritized above everything else, even when it involves the most basic and essential human values.

Is the rapid increase of population part of the cause? Overpopulation often means the value of each individual will be decreased since anyone is now easily replaceable and becomes irrelevant. There are no signs this trend is going to stop anytime soon. I fear there has to be a massive catastrophic event to happen in order to trigger any societal changes at this level.

<comment><USER3> It is pretty much every industry. The tobacco industry pushed studies and advertising claiming smoking was doctor approved and "healthy". The food industries/companies and their studies claiming cereal and orange juice constitutes a healthy breakfast. The oil industry, pharma, etc.

I think the diminishing value of humans/individuals is a result of overpopulation and industrialization. I don't remember who said it, but cities are now industrial farms for humans and a human being is a commodity/resource. In an industrial society, a human being is fundamentally no different than a cow or a pig on massive industrial farms. Our value is our commoditize productive value.

<comment><USER4> That's why HR is Human RESOURCES. I believe you are correct in your observation and your comment makes me very sad.

</comment></comment></comment><comment><USER5> "Drug company offered 'bribes' to doctors to boost sales": I don't see how that headline constitutes news to anyone with even just a passing familiarity with how this market works.

<comment><USER6> My thoughts exactly. Situation in healthcare is utterly dismal. I see prescriptions of very expensive medicine where there are alternative brands (or generics) for a fraction of the price and when people complain (a serious percentage of the price comes off their pockets) doctors respond with vague mumble-mumble about that drug being a new generation.

<comment><USER7> Unfortunately, there are drugs where the generics don't work as well as the brand. Then it's tricky what to prescribe.

</comment></comment></comment><comment><USER8> I am originally from Hungary, from a small town. My aunt is an assistant for a child doctor.

Every single doctor here gets approached by multiple drug companies, being offered expensive vacations and similar perks (if not outright money) for prescribing the company's medications.

One particular doctor who is an absolutely disgusting and vile human being describes antibiotics for every ailment. He essentially ruined thousands of children's health for said perks. It got so bad the word spread in the town and apart from the least informed families no one took their children to this doctor if they could avoid it.

But this is just one doctor. The other 2 who practiced here also accepted rewards, but were a bit more sensible with it, but not by much. According to my aunt this is an incredibly widespread problem, and one that has been going on for decades.

I can't imagine anything more atrocious than sacrificing children's health for material gain. A person who is support to protect life and does this... I'm not religious and I seldom wish ill fate to people, but I do hope there is a hell for these kind of people.

</comment><comment><USER9> 1) this is a lot more uncommon than people seem to suggest. Note from this article, they found -288- docs. In a country with a little over 1,000,000 physicians.

2) the real problem is the legislation congress pushed through barring Medicare from negotiating drug prices. "Many of those sales are driven by Medicare reimbursements. A CNN investigation last year found that Medicare spending on Acthar had risen dramatically -- more than tenfold over six years -- to some $2 billion." the article went ahead and glossed right over it, but if Medicare is your prime payer and can actually push back on price jumps, -this doesn't happen-.

</comment><comment><USER10> I know a 'pharmaceutical representative'. She is little more than a corporate prostitute - and I mean that sincerely.

She is paid to take doctors on dinner dates, woo them and give them 'free samples', and ensure that they promote her product over all the others. She's admitted to me that she regularly has sex with her clients - and that she's a part of a larger team that covers the entire German market.

Its such a normal, accepted practice, that my surprise at her frank attitude about it was met with a "well, duh, how do you think we stay relevant in such a competitive market?" response ..

<comment><USER11> Salespeople have long wined and dined customers, been charismatic, etc.

I've never heard (in the US) of a practice of salespeople having sex with customers. I'd expect to hear a lot of lawsuits, were that a practice in the US.

It'd be sad if people who are just doing normal sales work (e.g., talking with the customer, understanding and communicating how product could work for them, negotiating deals) were insulted or had their reputations harmed by a suggestion that they were doing something else.

<comment><USER10> So its clear, she openly admitted to the fact of her sexual engagement, and was kind of proud of it.

<comment><USER11> I was speaking of the suggestion that it's a normal, accepted practice. If people thought it was, then they might unfairly assume or suspect of it of many salespeople who do not do that.

<comment><USER12> you write "unfairly", but you probably mean "incorrectly"

there is nothing unfair about people assuming or suspecting things, we do not regulate each other's thought processes.

<comment><USER11> I see your point, and I could agree to "incorrectly", but would you agree that assumptions and suspicions tend to affect behavior, which would be when the "unfair" comes in?

</comment></comment></comment></comment></comment></comment><comment><USER13> Don't want salesmen? Remove the market.

<comment><USER11> I think we can update the names of the old "salesman" tropes to be gender- neutral. I'm pretty sure there are many women in pharma field sales, for example.

<comment><USER14> Judging by the pharma people that visit my MD's and cardiologist's office, they're all miss america candidates less than roughly 30 years old...

MCI did the same shit back in their day. A sales visit from MCI almost always consisted of 1 each: redhead, blond, brunette all of whom looked like models.

<comment><USER15> You should see the men too given how many doctors are women. Pharma sales is the most competitive of all sales jobs and doctors one of the hardest professions to sell to. The outcome is unless you has totally stunning and dripping in charm you are not getting into see the doctor.

</comment></comment></comment></comment><comment><USER16> I'm fairly sure there were reports of this happening _in the middle of the opioid scandal_ \- the doctors most willing to overprescribe opioids were statistically identified and bribed by the relevant pharma company. Perhaps someone else can find the reference to this?

</comment><comment><USER17> First heard about this in the documentary Prescription Thug$. The way the industry works in America is bizarre.

</comment><comment><USER18> Is this a patented drug? If so Congress has the ability to step in and invalidate the patent. Not that they will do it. Those assholes couldn't give a fuck if infants have seizures and die. If not where's the competition? I thought this was a free market. Surely undercutting this price should be easy while still making money. It seems the patent should have expired by itself by now anyway.

<comment><USER19> There's no patent. But there's no regulatory pathway for developing a "generic" version of this drug. It's probably one of the most egregious examples of price gouging ever and there's little anyone can do about it

</comment></comment><comment><USER19> This is probably the most egregious example of price gouging in the pharma industry. But it is an outlier and not representative of the whole industry

I feel like there are ~3 groups of high priced drugs:

\- straight up profiteering: this is the questcor playbook, that also inspired martin shkreli. companies find cheap old drugs that treat severe rare disease where they can get away with jacking up the price. The companies do no original r&d or new science. This is a rare practice these days and is highly stigmatized in the industry, as this type of practice kicked off a lot of the political debate around drug pricing

\- increasing price of "legacy" drugs: big pharma is increasingly bad at r&d. The industry is also in a period where a lot of huge drugs are going off patent. So pharma companies increasingly rely on price increases of mature drugs, rather than development of new drugs, to sustain revenue growth. This is a much bigger phenomenon in dollar terms than the aforementioned profiteering. This is possible mostly for large molecule drugs because the "generic" pathway isn't as mature as small molecules, so the large molecule drugs can have exclusivity after patent expiry. Huge multi billion dollar drugs like humira and enbrel have done this a lot. Private payers are beginning to push back on this pretty effectively, and hopefully as the biosimilars industry matures this will improve.

\- innovative, clinically valuable medicines. Some medicines are expensive because they are worth it in health economic terms. The cost per QALY gain is within the "acceptable" range. Most of the industry really does try to develop drugs like these (with varying degrees of conviction), but it's really hard. Companies ideally only want to develop drugs that are first in class or best in class. When that fails (which it usually does) they resort to aforementioned strategies. Unfortunately in many cases these innovative drugs are priced too high. They are often developed by startups and then bought by big pharma once the tech is derisked. Pharma is under huge pressure to grow revenue so they often price these meds too high. Which is a shame bc a lot are amazingly good medicines

Price isn't the only issue though, access is another, although they go hand in hand. Price can be "fair" but access still limited by payers. Copays for drugs are generally higher than for medical procedures, so consumers feel like drug prices are higher than medical procedures, when in reality they are all super high

</comment><comment><USER20> Stories such as this one highlight the need to address the industry's widespread price gouging head-on. Detecting and punishing the secondary offenses whether they're bribery or peddling off-label uses _sub rosa_ are too unreliable in light of the stakes. We must do better.

</comment><comment><USER21> The majority of patient facing medical ~professionals are pharma salespeople anyway.

<comment><USER22> In the States maybe. Not in most developed countries.

</comment></comment><comment><USER23> > Drug company offered 'bribes' to doctors to boost sales

Oh wow, such news.

In other shocking developments: water falls from the sky when it rains, and cigarettes are addictive.

</comment><comment><USER24> As someone outside the U.S. I find this whole pharma-complex absolutely mind- boggling.

<comment><USER25> Is it really different elsewhere though? These are the same conglomerate firms everywhere.

<comment><USER16> The UK bans advertising to the public for prescription drugs, and has a standard cost-effectiveness approval process for what the NHS will prescribe ("NICE"). Drug marketing is a lot less prevalent here.</comment></comment></comment>


Which distros to start Linux with - <AUTHOR> http://www.engadget.com/2012/08/09/linux-guide-slackware-arch-linux/

<comment><USER2> Honestly, the article seems rather pointless to me. The kind of people who don't know what a bootloader is should probably not be using Arch Linux or Slackware. Not to mention that at least Arch Linux has a far more detailed and better official documentation, so experienced users who like to try out Arch would probably be much happier with that.

<comment><USER3> They lost me at LILO. What year is this, again?

Oh, right. It's 2012 and uucp is still an essential part of Linux and BSD.

Doesn't anyone ever take out the trash?

<comment><USER4> LILO is actually still in considerably wide use in datacenters because Grub, after all those years, still hasn't stabilized (frequent issues with software RAID, GUID misdetection, etc.)

</comment></comment></comment><comment><USER5> Haven't tried Slackware, but I thought Arch was a great intro! Still remember my first "Wait, it's fully installed now? Where's the UI??". We did have the setup menu at the time.

Haven't gotten around doing Linux From Scratch yet, but I hear it's a good experience, from a dev perspective at least.

<comment><USER6> LFS is good for learning why package managers are great -- especially if you move to BLFS.

</comment></comment><comment><USER7> Some Engadget readers are going to be in for a bit of a shock. Arch dropped the menu driven install interface in the latest release. You have to do everything from the command line, including partitioning, creating, and mounting your file systems.

<comment><AUTHOR> Yes, I hope it is temporary though. They dropped support for menu-driven installation script because of lack of contribution. Hope somebody steps up to the plate.

</comment></comment><comment><USER8> I would rather keep my hands clean with Ubuntu :)

</comment><comment><USER9> I would expect to see coverage of one of the RHEL based distributions in an article like this, CentOS say as it is popular on servers.

Some may be aiming at some kind of certification, or may be looking to add Linux admin skills to their CVs.

<comment><USER10> I agree, CentOS would make a great beginner's Linux. It is stable, standard, and user friendly.

I don't understand the Arch approach to Linux. It's like they fetishize the drudgery of system administration and want to spend more time doing it.

<comment><AUTHOR> For some people, it is not a 'dudgery of system administration' but an opportunity to get to know Linux closely.

</comment></comment></comment><comment><USER11> who is it written for? people who are to jump into slackware don't need an explanation 'what is linux', and the ones who need it will have no clue what to do after reading this post.

btw <http://hackerne.ws/item?id=4378972> from a few hours ago (and originally from a few years ago). a rewritten pointless post about arch and slackware - coincidence?

<comment><AUTHOR> There is no great mystery behind it. I am the one who posted both these articles. I am thinking of trying out another distro after trying (and loving) arch linux and Slackware seems like a good distro to try.

<comment><USER11> Ok, but I don't get these tutorials for the sake of writing a tutorial, with no specified target group. It's like I've written "comparing python vs ruby, getting dirty with dynamic languages" and started it with "a computer program is a set of instructions... the source code is written in something called a programming language..."

<comment><AUTHOR> He is not comparing distros. He is just recommending to newcomers which distros to start with. But yes, I agree that the introduction is too basic first. Maybe, he just want newcomers to know the 'real distros' they should try out after knowing the basics.

</comment></comment></comment></comment><comment><USER12> Outdated - the newest default arch installation iso doesn't have a graphical installer

</comment><comment><USER13> Why editorialise the title? It's very misleading this way.

<comment><USER14> Agreed. This is an extremely misleading title.

1\. It bears no relation to the content of the article nor its title, which is only an introductory guide to two specific distributions, Slackware and Arch Linux.

2\. It is plain wrong (and outdated) when compared to other Linux distributions specifically created to be strongly breadcrumbed and newbie- friendly.</comment></comment>


Show HN: An easy-to-use ray-tracer written from scratch in C++ - <AUTHOR> https://github.com/diegomacario/Super-Sunshine <comment><AUTHOR> Hi everyone!

This year I embarked on a quest to learn as much as I could about computer graphics.

I initially focused on building small applications using OpenGL, but even after completing a few of them, I still felt that I did not fully understand how they worked. OpenGL was simply hiding too many details from me.

Hoping that building something from scratch would give me more insight, I started working on this ray-tracer. The whole experience quickly devolved into a ridiculous passion project. I built the ray-tracer from the ground up, starting with the API used to perform operations with points, vectors, normals and transformation matrices. I also read Scott Meyer's "Effective C++" book while I worked on it, which really helped me improve my C++ skills.

Once I finished it, I challenged myself to explain everything I had learned as clearly as I could. For that purpose, I designed and generated all the images and animations you see in the readme (except for the ones of the Stanford Dragon and the human head). Most of the images started out on paper; I would draw them, break them down into triangles, and figure out the coordinates of each vertex. I found it very satisfying to generate images in such rudimentary fashion. I feel that the constraints imposed by my ray-tracer just push one to be more creative!

I now believe that building a ray-tracer is the best way to start learning about computer graphics. The whole experience is simply illuminating.

I hope you enjoy the readme!

<comment><USER2> AH! I took Ravi's class on Computer Graphics two years ago! I still refer to his slides whenever I start a new openGL project. Thanks for sharing!

<comment><AUTHOR> Wooo! I heard the course is being updated so that it covers more modern OpenGL, so it might be worth it to revisit it soon. Thank you for your nice comment!

</comment></comment></comment><comment><USER3> This is a funny project .

<comment><AUTHOR> Hehehe thanks! I tried to make the captions of most images as ridiculous as possible.</comment></comment>


WAL-G – fast archival and restoration for PostgreSQL - <AUTHOR> https://github.com/wal-g/wal-g <comment><USER2> Has anyone here used WAL-G? How does it compare to WAL-E in practice?

<comment><USER3> WAL-G only supports AWS, so a lot of us are still using WAL-E. If anyone is looking for a reasonably simple Go project to contribute to, have a look at adding Azure, OpenStack or GCE support to help bring it up to parity.

<comment><USER4> We have GCP. There's a PR [https://github.com/wal-g/wal-g/pull/189/commits/17363c3fb6a5...](https://github.com/wal-g/wal-g/pull/189/commits/17363c3fb6a586d0363d94512c5b6d14c3e46d57)

I'm on-call for this week, but I'm planing to work on merging this soon.

<comment><USER5> Would you accept PRs implementing ssh backups ?

<comment><USER4> Sounds cool, but I doubt it is implementable... Let's create an issue for discussion of this feature?

<comment><USER5> Hi,

will do, thanks! I guess in_memory_storage_folder.go is a good starting point.</comment></comment></comment></comment></comment></comment>


Tesla has already received an estimated $800M worth of battery orders - <AUTHOR> https://www.yahoo.com/tech/s/tesla-already-received-estimated-800-million-worth-battery-021527137.html

<comment><USER2> The level of commitment behind those orders is literally that of a mailing list, there is no deposit. That's bad reporting right there.

</comment><comment><USER3> What's the environmental impact of constructing these batteries?</comment>


What Happens If The Debt Ceiling Is Breached? - <AUTHOR> http://nymag.com/daily/intelligencer/2013/09/what-happens-if-the-debt-ceiling-is-breached.html <comment><USER2> Except that none of these things will happen, as with the previous dozen or so times of the decade past, the Powers That Be will just raise it up yet again when next backing themselves into a corner.</comment>


Survey shows few men bothered if wife brings home more bacon - <AUTHOR> http://www.msnbc.msn.com/id/23413243/

<comment><USER2> There are a few misleading poll numbers in there (of 75% of men whose wife works, only 5% want the wife to stay home - duh, they prob talked about that before they got married plus they're used to 2 salaries), but overall a good article.

My wife stays home with our kids, but we decided before we got married that this was how we wanted it to be. It makes the startup road harder (3 people besides me depending on a paycheck) but the fact that I'm well paid in computing (say, as much as a school teacher and journalist put together) makes it possible. And I do my fair share of chores around the house too!

</comment><comment><USER3> I'd much rather have her bring home more bacon than, say, more sausage or more eggs. You can never have too much bacon.</comment>


Twitter is tracking you on the web - <AUTHOR> http://dcurt.is/twitter-is-tracking-you-on-the-web

<comment><USER2> <https://twitter.com/twitter/status/203255213946187777>

"Widget Data: We may tailor content for you based on your visits to third- party websites that integrate Twitter buttons or widgets. When these websites first load our buttons or widgets for display, we receive Log Data, including the web page you visited and a cookie that identifies your browser ("Widget Data"). After a maximum of 10 days, we start the process of deleting or aggregating Widget Data, which is usually instantaneous but in some cases may take up to a week. While we have the Widget Data, we may use it to tailor content for you, such as suggestions for people to follow on Twitter. Tailored content is stored with only your browser cookie ID and is separated from other Widget Data such as page-visit information. This feature is optional and not yet available to all users. If you want, you can suspend it or turn it off, which removes from your browser the unique cookie that enables the feature. Learn more about the feature here. For Tweets, Log Data, and other information that we receive from interactions with Twitter buttons or widgets, please see the other sections of this Privacy Policy."

<comment><USER3> Thank you for highlighting that section. I'm surprised dcurtis left out this nugget.

> After a maximum of 10 days, we start the process of deleting or aggregating > Widget Data

This make is much less nefarious. I guess it isn't much of a story when you have the full context. They are only keeping it for 10 days. Sure they are still aggregating data but at that point it is anonymized data.

</comment></comment><comment><USER4> _Basically, every time you visit a site that has a follow button, a "tweet this" button, or a hovercard, Twitter is recording your behavior. It is transparently watching your movements and storing them somewhere for later use._

Of course. This is likely true for all social buttons, not just Twitter. I've never known a social site to throw away free user-related data.

</comment><comment><USER5> But it also _Implements Do Not Track Privacy Option_ [1]

[1] [http://bits.blogs.nytimes.com/2012/05/17/twitter- implements-...](http://bits.blogs.nytimes.com/2012/05/17/twitter-implements- do-not-track-privacy-option/)

</comment><comment><USER6> Twitter is tracking me like Google is reading my emails.

> The privacy implications of such behavior by a company so large are sweeping > and absolute.

Like most articles about tracking cookie this, and tracking widget that, it does come off as overly sensationalist to me and makes me think it's meant to scare people more than they should be about such a thing.

> Is it okay for Twitter to sell your web browsing history to advertisers?

Serious question, where are the people/businesses that buy peoples browsing histories? It's an argument raised a lot of the time as responses to this sort of thing and I've never seen evidence that a market exists for it.

> I'm amazed that Twitter is overtly admitting to this behavior without > considering the privacy implications.

This is a bit of a confusing sentence, do you expect them to hide it? Or what makes you think they haven't considered privacy implications?

Edit: According to tech crunch they _have_ considered your privacy as they are having a switch that lets you turn this functionality off: [http://techcrunch.com/2012/05/17/twitter-wants-an- interest-g...](http://techcrunch.com/2012/05/17/twitter-wants-an-interest- graph/)

<comment><USER7> I don't think gmail is exactly analogous, the twitter situation is something that you can't avoid in all of your activity anywhere on the web; simply having a twitter account at all makes every website a tracker, and you have absolutely no way of knowing until you get to the site and it's already too late.

<comment><USER8> Don't stay logged in. Use NoScript. Delete cookies from Twitter. No tracking remaining.

Though it is easier to enable "Do not track" in your browser for the Twitter case.

</comment></comment></comment><comment><USER9> Oh, look another Dustin Curtis blog post on Hacker News, again. While some of the things Dustin says are true and interesting, this post assumes we're all idiots that don't know that companies like Twitter are tracking user information. What's the big deal here? Oh, Twitter will know what links or sites I'm visiting? Good for them, if they find that information valuable then so-be-it.

I think it's more than obvious Dustin is targeting his posts at the HN community who lap them up, it's all just too easy for him now. Sorry about that rant.

</comment><comment><USER10> This issue raised here is nothing new or specific to Twitter. (Not that it makes it any less concerning.)

Here's an article from over a year ago talking about how Facebook does the very same thing with their like button: [http://www.geek.com/articles/news/facebook-like-button- track...](http://www.geek.com/articles/news/facebook-like-button-tracks-you- even-if-you-dont-click-20110519/)

"Any time the Like button is displayed, information is zapped back to Facebook's servers. As long as you've been logged into the site in the past month, Facebook happily continues warehousing your whereabouts."

</comment><comment><USER11> Does the Firefox 'No 3rd Party Cookies' setting avoid Twitter-tracking?

<comment><USER7> Yes, the No 3rd Party Cookies stops the twitter buttons on other sites from working at all.

<comment><USER12> It doesn't matter if you accept cookies or not. If the site you visits presents content ( script, button, whatever ) served from another site, you may be tracked server side via log + all the goodies in your request header.

<comment><USER7> With No third party cookies enabled, the only thing the hosts of the other content should get is IP address. It's possible that they are storing that and cross-referencing against the ip logs otherwise but that would lead to a lot more embarrassing situations considering how much more likely it is that 2 different people are behind the same NAT than logged in to the same account, and it would be explicitly going out of their way to track people who clearly were trying to opt out.

</comment></comment></comment></comment><comment><USER13> Surprising someone as experienced in the web would post a rant like this when not only do Facebook, Google and other large/"webscale" sites, but also much smaller ones that participate in ad networks.

When I worked at Glam Media we were given a presentation on the ecosystem related to our ad networks and let me tell you the presenter (a VP or C-Level) couldn't come close to fitting all the logos on a moderately large screen.

Bottom line is unless you take substantial measures to avoid tracking you are going to be tracked by many interested parties, both direct and indirect!

</comment><comment><USER14> A lot of outrage for something that many other websites are also doing, and an acknowledged behavior by any of the major companies running social networks with social widgets - i.e. Google, Facebook, etc.

Heck, Google recently got in trouble because they were using a fairly standard technique that got around the third-party cookie blocking in Safari, and Facebook had to admit that they are able to track users who are logged out, presumably by comparing IP addresses of those who load the widgets against IP addresses of users when they are logged in.

</comment><comment><USER15> OK, so it's not exactly news. But we only have these 'privacy implications' because our browsers give mines of information to any website that cares to ask for it. GET requests used to be seen as OK to make on behalf of a user, but these days I feel that the hostname in my location bar should be the _only_ one I send any HTTP requests to, for a given page.

</comment><comment><USER16> I love the irony of @dcurtis complaining about twitter dirty tricks while trying to get "Kudos" using a scammy widget.

</comment><comment><USER17> So is every advertising network. This really isn't new, but it's certainly over-sensationalized.

</comment><comment><USER18> This is certainly no worse than what Facebook's collecting, and their opt-out controls mean there's not a lot to be worried about.

If you're really paranoid about privacy you should be concerned about Google, not Twitter. Try counting the number of websites with Google Analytics or AdSense (or Google-hosted jQuery, or a +1 button...)

</comment><comment><USER19> What would be surprising Mr Curtis, is if Twitter _wasn't_ tracking it's users.

</comment><comment><USER20> Duh. As dumb a comment as that seems, I'm sticking with it.

</comment><comment><USER21> Curtis lives in his own little bubble where the average internet user is COMPLETELY unaware of the possibility that they're being watched. Even my parents, who are nontechnical, in the mid 90s, would warn me about these sorts of things.

Regardless, Twitter went about this the proper way and I'm glad they're doing what they're doing. Happy to have the Do Not Track option too.

Nice sensationalist story though... what will he throw a fit over next time?</comment>


OCaml 4.04.1 released, dedicated to the memory of Emmy Noether - <AUTHOR> https://caml.inria.fr/pub/distrib/ocaml-4.04/ <comment><AUTHOR> [https://www.reddit.com/r/ocaml/comments/65bnx5/ocaml_4041_re...](https://www.reddit.com/r/ocaml/comments/65bnx5/ocaml_4041_released_dedicated_to_the_memory_of/)</comment>


Ask HN: Why is there no effort to codify architecture principles? - <AUTHOR> We usually get some guidelines from the overall architecture of the application but after that it always seems to be a free for all. I think we can all do better.
Like, math books are chocked full of techniques to handle specific situations. But imagine if instead of using those techniques we just invented our way through each problem. That's how I think programming is. Because, perhaps we don't have a rich enough vocabulary to describe what we are doing and so every day people solve the same problem in many offices. But if architecture were more codified we could just look up how to do something.
Maybe there could be a site that listed abstract solutions that people could vote and leave comments on. So, for example, someone might leave a comment saying that the solution doesn't scale well. If you need something that scales consider solution_93748.
I think this could help developers create better architected code because we could offload some architecture tasks to the hive mind. What do you think? <comment><USER2> Architecture principles are codified. For day to day programming, you're looking for design patterns. The main reference is the Gang of Four's Design Patterns: Elements of Reusable Design ([https://springframework.guru/gang-of- four-design-patterns/](https://springframework.guru/gang-of-four-design- patterns/)). If you're looking for more of a systems architecture, the architecture of open source is a good resource: [http://aosabook.org/en/index.html](http://aosabook.org/en/index.html)

<comment><AUTHOR> I really like that first one. Yeah that's what I was talking about.I've seen more often than not programmers just learn language syntax but very little about architecture aside from, for example, how to use MVC. Also, for example, we might pride ourselves on memorizing http response codes but I would do a double-take if a developer said to me maybe we should try a decorator pattern here.

I guess they are more codified then I realized and I'm definitely going to read through that list.

</comment></comment><comment><USER3> > _" Maybe there could be a site that listed abstract solutions that people > could vote and leave comments on"_

Sometimes all you need is the right jargon to search for. "Design Patterns" is the thing you're looking for. They help you express architecture in common abstract concepts.

[https://sourcemaking.com/design_patterns](https://sourcemaking.com/design_patterns)

</comment><comment><USER4> I think it's all about workflow. The closer you bring feedback to the developer, the more likely they are to follow guidance.

Linters and prettiers are a perfect case study. Saying don't do X doesn't work. But preventing you from doing your work unless you do X (and helping you do it) works really well.

We need linters for architecture patterns — but of course this is really hard to do in practice.

</comment><comment><USER5> Isn't that what design patterns are? you have books for OO design patterns, enterprise patterns, even microservices patterns, with code examples and everything. Most of them go far beyond the overall architecture.</comment>


How Evil Is Tech? - <AUTHOR> https://www.nytimes.com/2017/11/20/opinion/how-evil-is-tech.html?mtrref=undefined&gwh=D817F5769B7E2A6ABF221B4784029A6A&gwt=pay&assetType=opinion <comment><USER2> Proprietary, closed source, centralized tech is the evil thing people accepted, for various, often compelling reasons. FOSS decentralized tech is the future that will free us from the dystopia.

<comment><USER3> It's not really a dystopia if we can already free ourselves from blobware (well, with old enough processors that is).

<comment><USER2> Can is different from will. Its why I say its a brave new world, until you resist, then its 1984.

<comment><USER3> Not really, the flaws in our hardware may well backfire horribly on the people who instigated them as well.</comment></comment></comment></comment>


Twitter: "It's Like A Store For Car Parts, Right?" - <AUTHOR> http://www.centernetworks.com/twitter-flickr-facebook-nyc <comment><USER2> This reminds me of those "man on the street" things where they ask about American history. Only this isn't scary.</comment>