Bitcoin: A Peer-to-Peer Electronic Cash System (2008) [pdf] - <AUTHOR> https://bitcoin.org/bitcoin.pdf <comment><USER2> It truly is a wonderful paper. Lots of information in it. You don't need that much background knowledge to understand it, but it can take a few reads to wrap your mind around it.

I would suggest also taking a look at the annotated version of the whitepaper on Fermat's Library:

\- [https://fermatslibrary.com/s/bitcoin](https://fermatslibrary.com/s/bitcoin)

I wrote some of the annotations and tried as much as possible to make it so that this annotated version would provide a motivated reader with all the resources needed to truly understand the bitcoin protocol.

Michael Nielsen's blogpost about Bitcoin ([http://www.michaelnielsen.org/ddi/how-the-bitcoin- protocol-a...](http://www.michaelnielsen.org/ddi/how-the-bitcoin-protocol- actually-works/)) is also a great read.

<comment><USER3> Wow, thanks for sharing that link to Fermat's library. What an amazing resource.

<comment><USER4> Will it ever be possible to use AI/ML to identify Satoshi based on the writing style of this original paper of bitcoin?

<comment><USER5> I think I remember seeing a medium article speculating that the NSA has done this.

Found it: [https://medium.com/cryptomuse/how-the-nsa-caught-satoshi- nak...](https://medium.com/cryptomuse/how-the-nsa-caught-satoshi- nakamoto-868affcef595)

<comment><USER4> Very interesting!

<comment><USER6> that'd explain why he's missing

<comment><USER4> Do we know if Satoshi lurks around hacker news and is having a chuckle reading the comments here?

<comment><AUTHOR> A fellow coder can dream.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> I didn't read the whitepaper for years because I assumed I wouldn't understand it.

When I finally (recently) did I was dumbstruck by its simplicity.

This was a big lesson for me: I should always at least try to understand these big ideas even if deep understanding will probably elude me.

<comment><USER8> That is the beauty of it. It is only eight pages long, but fundamentally changes the concept of money.

The only thing that people should recognize is that it doesn't really try to explain the game theory behind it. It is a technical paper. When it all sinks in, it becomes clear that it is pure genius, but that certainly took me a while to grasp.

<comment><USER9> "That is the beauty of it. It is only eight pages long, but fundamentally changes the concept of money."

Not really; it only serves to validate the beliefs of people who already agreed with the basic premise that money is something that can exist without central authority. That view was already common long before the Bitcoin paper. Plenty of libertarians believe that money is an emergent phenomenon of free markets, something which arises on its own as the market converges on a common currency as its medium of exchange.

On the other hand, if you are aligned with the mainstream of economics, the entire premise of the paper is easily dismissed. In that view, money can never be separated from banks, the paper is basically nonsense.

<comment><USER8> What it did, was it made it possible to create a decentralized store of value without the need of a central authority. And that has definitely made people question their understanding of what money even is.

<comment><USER9> Not really. Anyone who is confident in the mainstream view of money, which requires the existence of a bank or government of some kind, would quickly dismiss Bitcoin. If I cannot pay my taxes or mortgage with it, why should I accept it?

(And of course, if I can pay my taxes and mortgage, how can anyone claim to have removed the central authority from money? Just like the gold standard, nothing would prevent a government from changing its mind about whether or not to accept Bitcoin for tax payments.)

Like I said, if you already believe that money can exist without a central authority, Bitcoin simply serves as validation. Otherwise it does not really change anything, because if you accept mainstream views of money, then the premise of Bitcoin makes no sense at all.

You think Bitcoin is a decentralized store of value? Tell that to all those people whining about the Mtgox bankruptcy proceeding, which is being resolved by paying for the lost BTC according to the price in Yen _at the time Mtgox declared bankruptcy_ which is a tiny fraction of the current prices. When push comes to shove the "value" being stored is measured in fiat currency, with all its associated central authorities.

<comment><USER10> > Tell that to all those people whining about the Mtgox bankruptcy proceeding

Not sure what your point is, dollars(cash) can be stolen as well.

<comment><USER9> The context: MtGox is currently going through a bankruptcy proceeding in Japan. The complaint right now is that the creditors i.e. people who had accounts with positive BTC balances when MtGox declared bankruptcy will be repaid in JPY, according to the price of their BTC balance when MtGox declared bankruptcy in 2014. Since then, the value of BTC has obviously increased quite a lot, so much so that MtGox can actually use its remaining BTC assets to repay those creditors, leaving plenty of BTC to pay the shareholders.

In other words, even if you think Bitcoin acts as a "store of value," that still does not make it "money" according to the law. You can have 1BTC or 100BTC, but the law is only concerned with the monetary (i.e. fiat currency) value at some particular time (not necessarily right now).

<comment><USER8> Ergo : Don't trust banks.

<comment><USER9> ...the same would apply if I had promised to pay you in BTC and then failed to make that payment. This is not really about trusting banks.

<comment><USER8> Actually it is.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> Surely, if 1000 people own 40% of a currency which had evangelical aims to service 7.5 billion people, then it is impossible to call it decentralised... Add this to the obvious fact that the vast majority of new bitcoins mined are from china, which due to the scale of processing power now has a monopoly due to capital barriers. The conclusion is... great experiment, but as in all deliberate implementations of social ,political, or economic theory. The real world is a very different beast to one man's view from a desk. I feel sorry for any new uneducated investors getting in now. This has become nothing more than a pyramid scheme that adds no value whatsoever to the world. Not cryptocurrency as an idea, but bitcoin's current iteration and implementation.

<comment><USER12> > Surely, if 1000 people own 40% of a currency which had evangelical aims to > service 7.5 billion people, then it is impossible to call it > decentralised...

Decentralized can have many meanings. What is important is that you can transact with anyone without a third party having any say. For that 99% of all coins could be in the hands of a single person as long as there would be enough left for others to use.

> Add this to the obvious fact that the vast majority of new bitcoins mined > are from china, which due to the scale of processing power now has a > monopoly due to capital barriers

As long as they do not collude to destroy or disrupt the network it has no relevance at all.

> This has become nothing more than a pyramid scheme that adds no value > whatsoever to the world. Not cryptocurrency as an idea, but bitcoin's > current iteration and implementation.

As Bitcoin is practically useless due to high fees and congestion, I agree. But not because the reasons you gave.

<comment><USER11> > Decentralized can have many meanings. What is important is that you can > transact with anyone without a third party having any say.

I understand the premise of decentralised transactions, it's just that if the value of the currency can be manipulated by small group, it is not removing the need for trust, just shifting it...

> As long as they do not collude to destroy or disrupt the network it has no > relevance at all.

I thought the point of decentralisation was to remove the need to trust others...

> As Bitcoin is practically useless due to high fees and congestion, I agree. > But not because the reasons you gave.

AGREE! 7tps vs Visas 4,000tps with a peak capacity of 56,000 tps...

<comment><USER12> > it's just that if the value of the currency can be manipulated by small > group, it is not removing the need for trust, just shifting it...

I think there's different aspects to "manipulated".

Large holders or exchanges can always manipulate the price, this is true for cryptocurrencies, the stock market and other things as well. Cryptocurrencies is however much less mature and more easily manipulated, but I foresee it to stabilize in the years to come.

If we're thinking of the miners to manipulate the coin I think the real genius of Bitcoin is they are heavily incentivized not to. All miners are heavily invested in Bitcoin's success so it's in their best interest not to destroy Bitcoin's value.

> I thought the point of decentralisation was to remove the need to trust > others...

To be clear: what miners can do if they collude is try to revert transactions or block new transactions. If this happens it would be obvious and Bitcoin's value would be severely damaged.

There is trust yes, but it's more trust in the incentives behind Bitcoin than to specific miners themselves.

</comment></comment></comment></comment><comment><USER13> Equally elucidating are the responses on the Cryptography List from other cryptographers[1], plus the responses a few months later when Bitcoin 0.1 was released[2].

You can pretty easily tell which cryptographers read the whitepaper and which ones did not. :)

[1]: [http://www.metzdowd.com/pipermail/cryptography/2008-October/...](http://www.metzdowd.com/pipermail/cryptography/2008-October/thread.html)

[2]: [http://www.metzdowd.com/pipermail/cryptography/2009-January/...](http://www.metzdowd.com/pipermail/cryptography/2009-January/thread.html)

<comment><USER14> > I made the proof-of-work difficulty ridiculously easy to start with, so for > a little while in the beginning a typical PC will be able to generate coins > in just a few hours.

If only I had given up "just a few hours" back in 2009...

<comment><USER9> ...and held the coins until today. Or maybe next year it will be worth 10x more.

Put another way, if you had sold your desktop and invested all the proceeds in Amazon stock in 1997, and held that stock until now, you would have a 66000% return; basically you would have become a millionaire by now. Of course you would have had to held those shares through two big market crashes and the recessions that followed.

On the other hand, how could anyone have known that 20 years ago Amazon was going to be the winner? You might have invested all the proceeds in some company that did not survive the dot-com crash. Likewise, in 2009 most people doubted Bitcoin; even today there is plenty of doubt about the long-term prospects. There is no point in kicking yourself over a failure to invest in a big winner, especially when that winner defies all the wisdom on valuations.

<comment><USER15> Brin and Page themselves tried to sell Google to excite.com for less than $1MM in 1997. Luckily for them they got turned down. Hal Finney stopped mining coins after it started overheating his PC too often. Would he have done this if he believed each 50 coin block would someday be worth over half a million bucks? I think that would justify buying a second desktop or perhaps a better cooling fan.

Nobody knows what the future fortunes of any venture will be, anyone who claims to have known the future success of Bitcoin all along is lying, or they would have sold their blood and worldly possessions to snag as many coins as humanly possible in anticipation.

</comment></comment></comment></comment><comment><USER16> I love reading papers that solve fundamental, well-known problems.

They frequently seem so obvious after-the-fact, like "how did we miss this?" Like, here, stated in just a few pages, is an idea that so many smart people have been chasing after for years. And it's presented so well that it seems intuitive, when in reality it was a very difficult challenge.

<comment><USER17> > "how did we miss this?"

If anyone is wondering, the answer is that the academics had blinders on in their search for a cryptographic solution to the problem of decentralized transaction ordering, an impossible thing. Satoshi's solution is to accept that impossibility and use economic incentives to achieve eventual consensus instead, and it turns out eventual consensus is good enough.

<comment><USER18> I doubt that that's the one true answer. If I had been researching the topic at the time, I would have accepted eventual consensus. As somebody who has done research into algorithms, the reason why I would have disregarded Bitcoin's approach is that it's inherently terribly inefficient.

<comment><USER17> Many cryptographic protocols are much less efficient. I asserted that only as someone who was in that space an personally knows the people who were doing research on this in the 90's and 00's. Nearly all effort was focused on finding a solution that had finality of settlement guarantees.

There was also some work on hashcash money, but it made the economically naive and inaccurate assumption that value of the currency must be linked to the cost of production, which is also explicitly not the case in bitcoin.

</comment></comment></comment></comment><comment><USER19> The document is littered with references to CPUs, including the phrase "one CPU one vote." I think a Bitcoin where CPUs were doing the blockchain processing would be much different that the current one dominated by farms of dedicated hardware. I don't know if it would be better, but I think this is a pretty stark reminder that Bitcoin is not behaving as intended.

<comment><USER20> This has turned into an interesting question since some coins now are specifically designed to be resistant to ASICs. The downside for those coins is that botnets or general purpose hardware (that can be purchased or rented for an attack and then resold for other uses later) are a serious threat to the network. A potential benefit for Bitcoin is that the network may actually be more secure with custom ASICS because the people investing millions into developing the custom hardware stand to lose everything if they attack or seriously harm the network. That equipment would be useless for any other purpose, and that same dominating hardware makes the Bitcoin network immune to attack from general purpose hardware.

<comment><USER19> If you need a relatively small handful of people to control the ecosystem to make it secure from large numbers of decentralized users, then _what the heck do you need Bitcoin for?_

<comment><USER20> I think that the mistake here is believing that the miners control the network, when most likely the miners simply work for the decentralized network. When the miners become centralized there is little they can do that the users/nodes can't unwind with a software update, even up to the point of firing those miners completely if necessary (changing the proof of work so that their current hardware is worthless). I think that long-term the incentives are aligned for them to simply do their job.

</comment></comment></comment></comment><comment><USER21> Satoshi's mining/minting algorithm is manipulative by design.

Less computational energy and the least amount if users produced the most coins (for minimal external capital input).

Satoshi could have used a linear curve anticipating network growth matching minting and computational increase, but instead choose to exploit late adopters.

Early adopters will attempt to psychologically exploit new users by selling their asset for more than the cost of production and acquisition.

This has directly created the situation where utility is not in use but in exploitation of passing the hot potato to greater fools.

ecash should not exploit new users.

<comment><USER22> do you have examples of any cryptocurrencies that introduce such a curve. the centralization of wealth problem is serious.

</comment></comment><comment><USER23> A bit of trivia: the word(s) "block chain" never mentioned in the paper.

</comment><comment><USER24> It still baffles me that the Nobel Prize for Economics was not awarded to Satoshi Nakamoto albeit a pseudonym for real person/people.

<comment><USER25> Because creating the blockchain hasn't yet been shown to have either advanced the field of the study of economics, or increased our understanding of economics. It is often years later that economists are awarded.

Giving an award for Bitcoin right now would seem more like giving an award to the financial institutions that created securitized loan products before the housing crisis. Right now it seems more like a novelty technology that hasn't yet made itself relevant for long-term innovation except to generate excitement about it.

And you underestimate that you still can't give someone an award who does not exist to receive it.

<comment><USER24> What you said makes sense.

> And you underestimate that you still can't give someone an award who does > not exist to receive it.

Which is what baffles me. I thought we should be honouring ideas and the people who created/discovered them (whether or not they exist to receive the award). It's weird that people get more precedence over ideas. What's worse is that the prize isn't awarded posthumously as well!

</comment></comment></comment><comment><USER26> This paper packs an enormous idea into a tiny package. It's worth reading - and re-reading.

If you've studied electronic cash systems and/or cryptographic systems before, the paper is quite easy to read. Otherwise it's a challenge. At least that's what I found.

Here's a companion article that fills in some of the blanks.

[https://bitzuma.com/posts/how-bitcoin-works/](https://bitzuma.com/posts/how- bitcoin-works/)

</comment><comment><USER27> This should be required reading, along with a test, before anyone is allowed to buy/"invest" in them.

<comment><USER28> Do you know how a fridge works? How about an airplane? How about how to make steel? How to sew a shirt? How to drill and process oil to make gasoline? Every level of the internet stack? How to program hardware drivers? How to farm everything you eat?

Do you see how stupid what you are saying is yet?

<comment><USER29> I'd argue that we should read the White Paper for any of these technologies before investing in them in their infancy :)

<comment><USER30> Is bitcoin in it's infancy?

You have CBOE offering futures on it. The prez of JPMC pro bitcoin. You have so many exchanges.

This ain't the era of mtgox, $10m pizzas and running your own full bitcoin node and joining a mining pool.

Bitcoin is out of it's infancy.

<comment><USER31> > The prez of JPMC pro bitcoin.

Jamie Dimon, CEO of JP Morgan, famously called Bitcoin "a fraud" that "won't end well" and is "worse than tulip bulbs."

You must be thinking of something/someone else?

[https://www.bloomberg.com/news/articles/2017-09-12/jpmorgan-...](https://www.bloomberg.com/news/articles/2017-09-12/jpmorgan- s-ceo-says-he-d-fire-traders-who-bet-on-fraud-bitcoin)

</comment></comment></comment></comment></comment><comment><USER32> How can we stop Bitcoin?

If Bitcoin wins, we'll become subservient to an algorithm we have no incentive to change.

It will only take a few more 10x increases before people stop smiling at this possibility. The time to plan for subverting Bitcoin is now, not later.

I'm deeply concerned about the potential of Bitcoin to become a financial black hole. I've written about this twice before:

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

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

The discussion was interesting, but not useful. We need plans, and we need them now, while there may still be time to do something about it.

The central question: If the entire resources of all world governments were brought to bear on the task of destroying Bitcoin, what would be the most effective way to do this?

I can't think of anything, and no one else has been able to either. Satoshi's email is prescient: [http://satoshi.nakamotoinstitute.org/emails/cryptography/4/](http://satoshi.nakamotoinstitute.org/emails/cryptography/4/)

\--

 _> [Lengthy exposition of vulnerability of a systm to use-of-force >monopolies ellided.] > >You will not find a solution to political problems in cryptography.

Yes, but we can win a major battle in the arms race and gain a new territory of freedom for several years.

Governments are good at cutting off the heads of a centrally controlled networks like Napster, but pure P2P networks like Gnutella and Tor seem to be holding their own.

Satoshi_

\--

Why should you worry? I've articulated some of the concerns here: [https://news.ycombinator.com/item?id=15867841](https://news.ycombinator.com/item?id=15867841)

Ultimately, it may be hopeless to try to solve this. But I can't shake the feeling that we're staring at a 0.1% chance of life as we know it changing forever. We will lose all monetary controls.

Doomsday prophecies have a long and sordid history, but the dinosaurs only had to look up at the sky at the right time to see theirs approaching. And, like the meteor, Bitcoin keeps growing bigger and brighter.

Look at [https://i.imgur.com/h0giZzF.jpg](https://i.imgur.com/h0giZzF.jpg) We won't be able to deal with cases like the 2008 crash. If the basis of the worlds' wealth becomes crypto, what will we do?

Madness of Crowds is worth reading: [https://vantagepointtrading.com/wp- content/uploads/2010/05/C...](https://vantagepointtrading.com/wp- content/uploads/2010/05/Charles_Mackay- Extraordinary_Popular_Delusions_and_the_Madness_of_Crowds.pdf)

 _It was now that the frenzy of speculating began to seize upon the nation. Law 's bank had effected so much good, that any promises for the future which he thought proper to make were readily believed. The Regent every day conferred new privileges upon the fortunate projector. The bank obtained the monopoly of the sale of tobacco; the sole right of refinage of gold and silver, and was finally erected into the Royal Bank of France. Amid the intoxication of success, both Law and the Regent forgot the maxim so loudly proclaimed by the former, that a banker deserved death who made issues of paper without the necessary funds to provide for them. As soon as the bank, from a private, became a public institution, the Regent caused a fabrication of notes to the amount of one thousand millions of livres. This was the first departure from sound principles, and one for which Law is not justly blameable. While the affairs of the bank were under his control, the issues had never exceeded sixty millions. Whether Law opposed the inordinate increase is not known, but as it took place as soon as the bank was made a royal establishment, it is but fair to lay the blame of the change of system upon the Regent._

<comment><USER33> Sometimes, I sincerely wonder if the true point of releasing Bitcoin to the wild anonymously was because the creator had a strong hunch on what would happen and how the example of Bitcoin would in one fell swoop both serve as example of the fallacy of our current currency systems, as well as simultaneously challenge them, and become this kind of black hole you speak of.

Why else would the creator remain anonymous, unless they were truly a good Samaritan or feared for their safety. This feels like an experiment and an example as much as anything.

I suspect there is much more to this story than we know, but who knows, that could just be the conspiracy theorist in me talking!

<comment><USER34> It is an experiment.

</comment></comment></comment><comment><USER35> The white paper is very approachable, and Bitcoins is a technical marvel. My big problem with Bitcoins has nothing to do with blockchains, trust or even security. All of that looks great. My problem with Bitcoin is simply that it's a deflationary currency, and can only ever be a deflationary currency.

Prove me wrong by spending, lending or investing your Bitcoins.

</comment><comment><USER36> OP should probably link to another source for the original Bitcoin white paper, for example [https://bitcoin.com/bitcoin.pdf](https://bitcoin.com/bitcoin.pdf)

The reason being is that the owners of Bitcoin.org are actively trying to rewrite the white paper even against the larger community's wishes. I believe sometime in the near future the owners will go ahead with their plans anyways as they seem to do that when it comes to other issues too.

Ref:

[https://github.com/bitcoin-dot- org/bitcoin.org/issues/1904#i...](https://github.com/bitcoin-dot- org/bitcoin.org/issues/1904#issuecomment-342973983)

[https://github.com/bitcoin-dot- org/bitcoin.org/issues/1325](https://github.com/bitcoin-dot- org/bitcoin.org/issues/1325)

<comment><USER37> The linked whitepaper is the original, which is what matters for the purpose of this post.

</comment></comment><comment><USER38> It will never work.

<comment><USER39> It's all hinged on SHA-256 and RIPEMD-160 being good cryptographic hashes, and ECC being a good digital signature. Crazy town.

<comment><USER40> Maybe actually take a look at the paper.

SHA-256 could be more broken than SHA-1 and it would still serve perfectly well for mining.

If you don't reuse addresses then even if ECDSA is broken then your coins are still safe. And ECDSA being broken is pretty much the darkest scenario. In which case it can simply be replaced with something else starting at specific block.

RIPEMD-160 just hides your public key.

<comment><USER17> > SHA-256 could be more broken than SHA-1 and it would still serve perfectly > well for mining.

Sure, but the block header only commits to the double-SHA256 hash tree of transactions. If SHA-2 was broken I could create a single block header that commits to two different valid histories, allowing arbitrary double-spends and irreconcilable divergent views of the network.

Not to mention being able to spend anyone's coins by finding alternate pub keys or hashes that collide with their committed p2pkh or p2sh outputs.

I'd say that's pretty broken.

<comment><USER40> Transactions follow very specific binary format. I don't think it's even plausible that you could find collision within those constraints. Plus, as you said it is double hashed. So then you would have to find collision within small fixed amount 32 bytes. It's just not happening.

Regarding the second one, google bitcoin address collision, it was repeated so many times with great analogies that I'm not going to try to do it here yet another time.

<comment><USER17> The post I was responding to was the exact hypothetical "if SHA-2 were broken..."

All arguments about collision and preimage resistance are based on the assumption of SHA-2 doing what we think it does. A catastrophic break of SHA-2 would destroy the bitcoin ledger.

</comment></comment></comment></comment></comment></comment><comment><USER41> I still don't get how if I start trying a proof of work, and someone faster than me finishes the same proof of Work first, I would never mine a single bitcoin? Is that even the right question?

<comment><USER42> There's no continuous project you're working on. It's just getting a lot of chances of winning the lottery. If someone finishes before you, you just slightly alter the number you're searching for and continue on. You're also not really working towards the same thing. Your solution probably includes you sending the blockreward to yourself and their solution includes them sending it to themselves too, on top of that you may also choose other secondary transactions. The chosen transactions influence the number you need to find.

It does happen that two blocks are found at nearly the same time, before adjustments can be made. In those cases one of the two ends up getting 'orphaned', it's relatively rare compared to normal blocks though.

</comment></comment><comment><USER20> I'd be interested in everyone else's opinion about the odds that Bitcoin becomes an asset class to rival gold (say at least $2T market cap vs the $8T gold currently is). Right now I'm guessing 20%. Those odds still make the current price a positive expected value (since the 1/5 future has such a handsome payoff), but with a 4/5 chance of failure it wouldn't be very smart to do this with more than a few percent of net worth. Thoughts?

</comment><comment><USER43> Bitcoin Cash follows this paper much more to a tee than Segwit Coin.

Back to low fees, on chain scaling, and the future of p2p cash!

</comment><comment><USER22> rest in peace, hal finney

</comment><comment><USER44> I view this paper with both love and hate. I think it's technically brilliant and fascinating, and at the same time incredibly naive and will do far more harm than good in this world.

While a trust free payment mechanism sounds wonderful, this implementation cannot succeed in the real world. In my mind proof-of-work is already an ecological disaster. As long as the price of bitcoin goes up, there is an incentive for miners to commit more energy and resources - yet those resources do not increase productivity. Whether there is 1 transaction or 200k, Megawatts are wasted to mine that block. I doubt 99% of people getting into Bitcoin have a remote understanding of how this works. This concerns me far more than the threat of upending governments - my biggest fear is in fact that governments will instead choose to adopt this technology because they would love the ability to track the history of every transaction.

While there are several proposed solutions to many of bitcoins weaknesses, we live in the real world, and the real world goes where the money is. While bitcoin is decentralized in design, in reality, it is controlled by a few mining factions who ultimately control what code enhancements get adopted and how the game is played. Why would they want to increase the block-size, when a smaller block will lead to greater fees? Running a full node is getting expensive, and soon, only the deep pockets will be left to guard.

People will never get bitcoin. It's simply too confusing for the average person. The user experience is a disaster. You're telling me once I buy bitcoin, I'm supposed to transfer it to a hardware wallet? What's a hardware wallet? Wait, so if I accidentally am off by one character in the address I sent money too it's gone forever? There's no one I can call? Bitcoin should never have been any more than just a novelty for the technically inclined, or a technology used for something other than a currency. It's why I can't stand Coinbase - they are lining up the naive (and greedy) masses into the slaughterhouse.

I have non-technical friends who do not understand that their bitcoin is not backed by anything. They do not understand that the money they put in, was immediately taken out by someone else, and that the price of bitcoin is just a funny number. The $XXX billion dollar market cap is fiction. Owning a bitcoin does not give you claim to the output of some productive asset like a stock would. Unfortunately, history tells us we're in the early innings. The real dumb money is just getting in the door. But when the music stops, and the evangelists have squeezed enough out of this lemon, that funny number will go back to zero. And a lot of people who couldn't afford it will get really hurt.

I'm confident that I could be making a killing in bitcoin right now. But it's not about the money for me - my conscience just keeps saying stay away. I really hope either I've completely got it wrong or bitcoin just dies soon.

<comment><USER45> You managed to cram so much wrong into a post it's unbelievable. Let's start with your 'off by one' address scare tactic. Bitcoin addresses contain a built-in check code, so it's generally not possible to send Bitcoins to a mistyped address.

[https://en.bitcoin.it/wiki/Address](https://en.bitcoin.it/wiki/Address)

Ecological concerns? A global, nacent value exchange system uses a little more than the total electricity of holiday lights. In fact many miners use cheap unused energy that would be otherwise costly to build infrastructure to sell normally.

[https://icenter.co/chinese-hydroelectric-crackdown-herald- de...](https://icenter.co/chinese-hydroelectric-crackdown-herald-demise-cheap- bitcoin-mining/)

Too confusing? Seems familiar. Here's a video from 1994 with some talk show hosts confused about 'internet'. Just watch this, please.

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

<comment><USER44> Fair on the first point (thank you, good to learn). Still doesn't make me feel better if I send something to the wrong (yet) valid address that I have no recourse to fix that. Or if I lose my key there is no institution who would be there to help me.

Hydro may be cheap for now, but does that make it okay? If Bitcoin keeps going up, at some point we'll exhaust those more convenient resources. The comparison to holiday lights is misleading because I never said that wasn't bad for the environment either. I'm not sure I can trust a site like icenter.co given it appears pro-bitcoin, but many people are analyzing the environmental impact of bitcoin and it's not negligible and only growing. You're right, it's nascent, and that's the scary part given how inefficient it is.

I stand by too confusing, especially when it comes to financial products. Try to explain proof-of-work to a non-technical person in less than 30 minutes. Explain hard-forks, segwit2, lightning network, double-spend, network attacks, and why the recommendation is to never leave your bitcoin on an exchange.

Our current system of money and banking isn't great, but this is not an improvement.

Edit: Now you've sent me down this other rabbit whole of educating myself on China's Hydro power. China's overbuilding of Dams may be in itself be a big problem (methane release, destruction of biodiversity, 300k deaths). I'd hate for Bitcoins popularity to contribute to the demand side of this equation.

<comment><USER46> Average person on the street knows almost literally nothing about how money of any kind works. They don't understand fractional reserve banking, marginal taxation, compound interest, present / future value of money, marginal utility, double entry bookkeeping, annuities, amortization, dividend yields, etc, etc, etc. It's exactly the same with technology and cars and on and on. Seriously, people do not get it. And yet the systems mostly work. We're actually pretty good at taking complicated things and making them usable. Do you think people have the foggiest idea what happens under the hood with Apple Pay? There's no way that the future of mass market cc will look anything like it does now.

From where I stand, there is zero reason that crypto-currency couldn't be the backbone of all money in a few decades. It's starting to feel inevitable.

</comment></comment></comment></comment><comment><USER47> If only it could have stayed a great idea instead of becoming a huge carbon emitter fueled by people naked greed...

</comment><comment><USER43> Hats off to CSW/Kleiman/?/Finney for what they did. They opened pandoras box. No going back now.

</comment><comment><USER48> Keep in mind that the 'bitcoin.org' is now controlled by infamous 'Theymos', who is known for the 7000BTC scam and became anti-Bitcoin since 2014.

So it's highly risky to cite Bitcoin White Paper from this site, if you wanna read untampered version.

</comment><comment><USER49> I feel like I've seen this before. Could it be a repost?

</comment><comment><USER50> Paper which is changing the world. Beautiful indeed.

</comment><comment><USER51> Nice work, David Chaum!

<comment><USER52> If David Chaum were to release something like bitcoin it would only be after filing a few hundred patents, re-working it every time _just_ before release and making partnerships with every commercial entity under the sun.

</comment></comment><comment><USER53> this will never work

</comment><comment><USER8> It is also important to understand in technical terms what a 'peer' is in bitcoin. A peer is a node, which is a client that validates all transactions and blocks in the blockchain. It is this understanding which forces people to respect the resource requirements of nodes, because any reduction in nodes is a reduction in peers. Any increase in resources requirements must be carefully planned and implemented to ensure the security of the network is maintained.

<comment><USER54> This seems incorrect. Isn't a node a process on the network that is mining blocks? It does not seem as if a process that simply reads blocks but does not add any hashrate is participating in the network as I understand it.

<comment><USER8> > Isn't a node a process on the network that is mining blocks?

No. It is only the validation that is important, because it is only the validation that ensures that consensus is maintained between nodes, and valid transactions can be included in the blockchain. Nodes even define the algorithm that miners must use in order to produce valid blocks.

There has been a hard education for people over the past year that have carried an incomplete understanding of how bitcoin works, and that has been encouraged by centralized companies that are attempting to wrest control of bitcoin away from its nodes. There have been four wildly unsuccessful hostile fork attempts (XT/Classic/BU/2x), and two in which alt-coins were forked (BCH/BGLD) from bitcoin in order to attempt to convince people to use their alt-coin instead of bitcoin. All of these attempts have been failures, because all of these attempts have not understood how bitcoin works, and the fact that nodes are the peers in bitcoin, and they police and enforce consensus.

<comment><USER54> I guess I just have never found support for that in the nakamoto paper. You obviously have strong feelings about it, and I'm not trying to provoke an argument. I just still don't understand where in the paper there is any discussion of non-mining nodes. The only place I can find mention of nodes that are not working on constructing new blocks on the network is in Section 8 re: the simplified verification protocol.

<comment><USER55> I believe the original intention was that all nodes would be mining nodes, and that there would be tens of thousands, or even hundreds of thousands.

I believe in 2008 Satoshi did not understand the full implications of ASICs or economies of scale. (S)he probably didn't even realize that ASICs existed.

Regardless of the whitepaper, in our modern cyberscape the only way to be certain that the original rules (21m coins, can only spend your own money, etc.) are followed is to be confident that a wide and deep pool of users are verifying them. That is strictly at odds with heavy on-chain scaling.

<comment><USER56> I'll just leave this here...

[http://satoshi.nakamotoinstitute.org/emails/cryptography/2/](http://satoshi.nakamotoinstitute.org/emails/cryptography/2/)

"At first, most users would run network nodes, but as the network grows beyond a certain point, it would be left more and more to specialists with server farms of specialized hardware. A server farm would only need to have one node on the network and the rest of the LAN connects with that one node."

Satoshi was well aware of specialized hardware. If the majority of the planet were using bitcoin, it would not be necessary for every user to be a node. It would still be plenty "wide and deep" if businesses were running it. The security of SPV is actually quite good.

[http://satoshi.nakamotoinstitute.org/posts/bitcointalk/188/](http://satoshi.nakamotoinstitute.org/posts/bitcointalk/188/)

"I anticipate there will never be more than 100K nodes, probably less. It will reach an equilibrium where it's not worth it for more nodes to join in. The rest will be lightweight clients, which could be millions.

At equilibrium size, many nodes will be server farms with one or two network nodes that feed the rest of the farm over a LAN."

[http://satoshi.nakamotoinstitute.org/posts/bitcointalk/287/](http://satoshi.nakamotoinstitute.org/posts/bitcointalk/287/)

"The current system where every user is a network node is not the intended configuration for large scale. That would be like every Usenet user runs their own NNTP server. The design supports letting users just be users. The more burden it is to run a node, the fewer nodes there will be. Those few nodes will be big server farms. The rest will be client nodes that only do transactions and don't generate."

</comment></comment></comment></comment></comment></comment><comment><USER57> Well this is an exceptionally cute idea, but there is absolutely no way that anyone is going to have any faith in this currency.

<comment><USER8> Reality seems to disagree with you.

<comment><USER57> [https://news.ycombinator.com/item?id=599852](https://news.ycombinator.com/item?id=599852)

<comment><USER58> Beautiful

</comment></comment></comment></comment><comment><USER59> Be careful of linking to the whitepaper on the bitcoin.org site, they have contemplated changing it in the past.

Best to link to the one on bitcoin.com: [https://www.bitcoin.com/bitcoin.pdf](https://www.bitcoin.com/bitcoin.pdf)

<comment><USER60> The content is exactly the same:

> curl > '[https://www.bitcoin.com/bitcoin.pdf'](https://www.bitcoin.com/bitcoin.pdf') > | md5

d56d71ecadf2137be09d8b1d35c6c042

> curl [https://bitcoin.org/bitcoin.pdf](https://bitcoin.org/bitcoin.pdf) | > md5

d56d71ecadf2137be09d8b1d35c6c042

Of the two organizations, .org seems far more trustworthy.

[https://www.bitcoin.com/about-us](https://www.bitcoin.com/about-us): "Please keep in mind that this is a commercial website"

[https://bitcoin.org/en/about-us](https://bitcoin.org/en/about-us): "Bitcoin.org was originally registered and owned by Bitcoin's first two developers, Satoshi Nakamoto and Martti Malmi. When Nakamoto left the project, he gave ownership of the domain to additional people, separate from the Bitcoin developers, to spread responsibility and prevent any one person or group from easily gaining control over the Bitcoin project."

<comment><USER61> Satoshi Nakamoto even disclaimed that bitcoin.com was "unrelated", and that he/she/they registered bitcoin.org as the site they using to publish information.

[https://bitcointalk.org/index.php?topic=88.msg806#msg806](https://bitcointalk.org/index.php?topic=88.msg806#msg806)

</comment></comment></comment><comment><USER62> My theory is that this paper was written either by the Israelis or the Iranians. Just a hunch. Any takers?

Anyone think a single person could be behind it? I personally dont think so...

<comment><USER63> "Satoshi Nakamoto"…

Samsung and Toshiba together makes —- Satoshi

Nakamichi and Motorola together makes —- Nakamoto

Seen this one before on reddit somewhere.

<comment><USER64> Satoshi is a regular Japanese name - don't think it a portamanteu (ex. Director Satoshi Kon)</comment></comment></comment>


DRAKON – An algorithmic visual programming language - <AUTHOR> https://en.wikipedia.org/wiki/DRAKON <comment><USER2> DRAKON is one of my favorite old-time visual programming languages. There's a lot more information on the Russian Wikipedia page, including an astounding 225 references: [https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E...](https://ru.wikipedia.org/wiki/%D0%94%D0%A0%D0%90%D0%9A%D0%9E%D0%9D)

<comment><USER3> If I knew Russian, I would translate that into the English Wikipedia page.

</comment></comment><comment><USER4> I tried it a few years ago (DRAKON-C):

[https://github.com/dchest/drakon-tea](https://github.com/dchest/drakon-tea)

It was fun, but drawing those graphs is so slower than just writing code in text... Especially, if you made a mistake somewhere and have to rearrange parts.

<comment><USER5> > It was fun, but drawing those graphs is so slower than just writing code in > text... Especially, if you made a mistake somewhere and have to rearrange > parts.

No-one has yet made an effort to parse code and programmatically create these graphs? I hope someone does, seems very doable!

<comment><USER6> I have not checked out Drakon-editor, but i find myself wondering if it comes down to being able or unable to do the graph manipulations by keyboard. Meaning that to manipulate linkages or move blocks one has to reach for the mouse.

</comment></comment></comment><comment><USER7> As a tangentaly related point...

Has any visual programming language ever been successful?

The guys at Epic are really pushing their blueprint system, and a lot of people like it... but its inherantly tied to the engine.

<comment><USER8> > The guys at Epic

The _people_ at Epic. Sorry, I know it's annoying, but sexism in computing isn't going to change if we don't pay attention to the language we use.

<comment><USER9> I don't think 'guys' just refers to males.

<comment><USER10> Guy Fawkes was male, and there is a feminine equivalent gals, but I think guys is slowing moving over into gender neutral territory (it wasn't when I was a kid, but times change).

</comment></comment></comment></comment><comment><USER11> I've used DRAKON for generating Javascript - [https://shkspr.mobi/blog/2013/04/use-drakon-to-generate- code...](https://shkspr.mobi/blog/2013/04/use-drakon-to-generate-code-from- flowcharts/)

It's really quite efficient to draw out an algorithm and let the computer turn it into code. Doesn't work for every problem - but it is _very_ good at what it does.

</comment><comment><USER12> The editor:

[http://drakon-editor.sourceforge.net/](http://drakon-editor.sourceforge.net/)

(it is at the bottom of Wiki page but added it here for quicker access).

Also Stepan Mitkin gave an Erlang Factory talk this year about the Erlang backend for DRAKON:

[http://www.erlang-factory.com/euc2015/stepan-mitkin](http://www.erlang- factory.com/euc2015/stepan-mitkin)

<comment><USER13> Watching the video one of the approaches that is interesting is only straight lines are allowed. The visual languages I have come across (Max/MSP and VVVV) allow diagonal lines.

I would reckon the strictness of the straight line has positive side effects – or avoids a class of negative side effects.

</comment></comment><comment><USER14> Interesting how this could tie into the diagrams coming out of the dataflow paradigm (flumejava, flink, millwheel, naiad, and Frank McSherry's rust timely-dataflow). All of which can be succinctly diagrammed out, but I like the rigor of this. People in this thread have mentioned Max/MSP (it's precursor puredata/pd) are really interesting visually, but they often feel write only. Some of the rules of drakon could be attempted in a max patch, but the shortest path nature and lack of jump labels could foil the idea.

At any rate, some food for thought when it comes to trying to ideate programs away from a computer or at least away from a repl or IDE.

<comment><USER15> It looks to me like Drakon is more of a control flow paradigm than a data flow paradigm. What flows along the wires, other than the "program counter"? How is data represented?

<comment><USER14> Definitely control flow not data flow, but the data is defined at each step of the graph in variables like normal. In Frank McSherry's Rust stuff and the Naiad stuff they seem to have a basic data structure of progress and "data to process". Where progress is handling the time step of the process. The dataflow isn't anything more than a variable being passed around and inputs and outputs. So the control structure is the important part.

This is sort of rambly, but in pd/max/msp you end up with at least 2 types of data flow rates (common in musical stuff like supercollider as well) for musical sample rates (aka 44.1khz or whatnot) and 'control flow' rates (like an LFO wub at 120bpm half notes). Those are all still wired up with the same "lines" in pd so it can end up being confusing if you put a control rate into a sample rate or vice versa. I'm sure current MaxMSP has ways to separate and handle those (along w/ "bangs" which are one off messages), but the beauty of something like drakon is that it is just control flow. The data is explicitly defined in the boxes. So even though dataflow is the phrase google and microsoft are throwing around, the real art is in the control flow. Look at the scopes and contexts from the naiad paper: [http://www.frankmcsherry.org/dataflow/naiad/2014/12/29/TD_ti...](http://www.frankmcsherry.org/dataflow/naiad/2014/12/29/TD_time_summaries.html) I think that drakon would be an interesting way to draw that diagram out. Not one hundred percent sure, but it's a thought.

</comment></comment></comment><comment><USER16> Using SQLite for persistence is quite interesting!

[http://drakon-editor.sourceforge.net/instant_save.html](http://drakon- editor.sourceforge.net/instant_save.html)

<comment><USER17> I fully agree with their strategy of persistent saving incremental steps.

However, the article misses one vital point: Undo!

Persistent saving without undo is a no-go. If I try something and the program (or OS) crashes, my previous state would be lost. It would be a state worse than not having saved the changes at all.

In particular, I find it troubling that they describe their SQLite actions as "insert", "update", "delete". I would have expected this to be insert-only, to preserve undo functionality after a crash. Then, from time to time some "delete" for garbage collection (maybe triggered by the user).

</comment></comment><comment><USER18> what are some advantages/disadvantages of visual programming languages compared to text based ones?

<comment><USER19> I did a fair amount of work with LabVIEW long ago. I also played with another visual language for the Mac that was floating around in the 90s. This isn't a slam against LabVIEW, which would be unfair in any event since it's been that long and their product has changed a lot.

Advantage: It seemed easy for beginners to learn how to do simple things, such as sequencing the operations and measurement in a lab experiment or instrument prototype. That's pretty cool.

Disadvantages: 1) For me, I happen to suffer from severe eyestrain and wrist / neck fatigue when dealing with tiny graphics and fine mouse work. I would not be able to program a graphical language all day.

2\. My impression that it's hard to modify / refactor code because of the laborious manual effort needed to move graphics around. Programs tend to become unwieldy when they expand beyond one screen.

3\. I think that text is the easiest and quickest way to prototype a new programming language idea, and there is rapid evolution and proliferation of both text based languages and programming tools like specialized editors and environments. It's also easier to port a text based language to a new machine. I think that evolution would be slower if people had to develop a graphical framework to try out a new language. It's also very easy to share source code, either full programs or snippets, on the Internet via text, even across different languages with a bit of manual translation.

<comment><USER20> 1) I think although LabView is quite useful, it's interaction design is terrible (that users play along only attests to it's utility!)

3) It's essentially a way of displaying code, so perhaps any new languages could reuse the same graph/flowchart environment. But inherently visual languages are designed either towards people who don't want to learn a language or who are performing specific tasks where the graphic flow improves their reasoning. I'd say for the vast majority of 'coding' those are not the case, since the "concept density" is very low (but visual UIs may help a lot of get started programming people anyway).

Having a graphical environment also helps remove a lot of cruft from languages that newcomers shouldn't really have to deal with.

For example, if I want to make a C program to computer the distance between tow points on a plane, I have in my head something like "d=sqrt((x1-x2)^2+(y1-y2)^2); output d", and actually programming I'm going to have to import a couple of libraries to take care of both floating point arithmetic and IO. The only way a novice can know that is looking at an online reference basically; while a decent UI could easily provide a searchable list of math/IO functions and include libraries automatically. Those are always taken care of in visual programming languages. The syntax itself of languages is arbitrary in many ways you have to learn on a case by case basis (in the example, how exactly do you use printf to "output d"?), while in an UI you are _forced_ to use the correct syntax, because it's the only option.

When you are programming an operating system or low level application none of those really matter, but for a newbie making a simple Mobile app it's going to involve googling a lot and copious amounts of copy-pasting templates for getting trivial things done.

<comment><USER19> Those are valid points. My first language, BASIC, didn't require libraries. You could just enter those two statements and it would figure out the libraries and types required, from the context. It was my understanding that the additional "overhead" of C is to direct the compiler to make more efficient code, and to head off certain kinds of failures of larger programs.

But still, I think your point stands. The tools that beginners like to use, whether the underlying "language" is represented by text or graphics, tend to be fairly self contained with zero overhead and a built in lookup system for library functions and user interface design, and those systems tend to be implemented as graphical software.

</comment></comment></comment></comment><comment><USER21> Can't we make text-based programming visual with some IDE/plugins?

It would be interesting to drag functions around (and so forth) in blocks.

<comment><USER22> Some of the data flow representation software enables us to do this, I guess. From UML diagrams, we could create classes etc

</comment></comment><comment><USER23> is there a javascript library or framework that lets users build visual logic like this and serialize it?

<comment><USER24> Take a look at Blockly: [https://developers.google.com/blockly/](https://developers.google.com/blockly/)</comment></comment>


Ask HN: What's an alternative to Project Euler? - <AUTHOR>

Project Euler is based too much on math for my taste. I'm looking for a set of programming challenges in order of increasing difficulty. Language agnostic is best, if not, Python is second best. <comment><USER2> <http://www.reddit.com/r/dailyprogrammer>

<http://www.reddit.com/r/programmingchallenges>

</comment><comment><USER3> YC Alum - www.interviewstreet.com has varying difficulty of problems and supports a variety of languages.

Facebook Engineering Puzzle - has puzzles and there are lots of blogs about solutions to the posted puzzles.

</comment><comment><USER4> <http://spoj.pl>

<http://www.codechef.com></comment>


A Monument to Outlast Humanity - <AUTHOR> http://www.newyorker.com/magazine/2016/08/29/michael-heizers-city <comment><USER2> I was expecting this to be about the Waste Isolation Pilot Plant[1]. They're disposing of radioactive waste from weapons production there, and it will remain dangerous for 10000 years.

It happens to be in the Permian Basin, which has deposits of oil and gas. Also, the area has salt and potash that can be mined. WIPP itself is in salt. So there will almost certainly be people digging for one reason or another in that time.

The problem is how to place a message that will be understood as a warning to humans over that long of a time scale. The last thing you want is future archaeologists digging there because they think it is a tomb or monument.

Gregory Benford also talks about it (and some other interesting topics related to communicating over long time intervals) in his book Deep Time[2]. It's an interesting read.

[1] [http://www.wipp.energy.gov/picsprog/articles/wipp%20exhibit%...](http://www.wipp.energy.gov/picsprog/articles/wipp%20exhibit%20message%20to%2012,000%20a_d.htm)

[2] [https://smile.amazon.com/Deep-Time-Humanity-Communicates- Mil...](https://smile.amazon.com/Deep-Time-Humanity-Communicates- Millennia/dp/0380793466)

<comment><USER3> Is WIPP back in use? They had an accident (used artificial kitty litter as packing material instead of natural, caused a storage malfunction) about 2 years ago.

My understanding is that the clean up will run around $2 billion.

Don't know if the clean up needs to be complete before use restarts...

<comment><USER2> I don't know if they're actively receiving waste shipments yet. The facility itself is running, though. I used to work on a science experiment there, and some of my former colleagues have been able to get underground starting earlier this year.

</comment></comment></comment><comment><USER4> And here it is on google maps: [https://goo.gl/maps/qLSZxPZaATM2](https://goo.gl/maps/qLSZxPZaATM2)

<comment><USER5> Looking at it from space, I'm much more interested in the small circular clearings of regular size that are everywhere in the surrounding landscape. Each one looks the size of a truck. What are _those_ all about?

<comment><USER6> [https://en.wikipedia.org/wiki/Center_pivot_irrigation](https://en.wikipedia.org/wiki/Center_pivot_irrigation)

<comment><USER7> I suspect the question was about these, which are MUCH smaller: [https://firstname.lastname@example.com,-115.4345986,129m/da...](https://email@example.com,-115.4345986,129m/data=!3m1!1e3)

<comment><USER5> Yup, exactly.

I don't think they're a source of materials used in the project (my first guess) because they can be found quite far away from the site, are present across varied terrain, and lack road access and indicators of work (eg tailings). Such uniformity in natural features always piques my interest. Will just be one of those endless mysteries of the desert, I suppose.

<comment><USER8> Those look a lot like creosote rings [1]. Creosote's native to southern Nevada and grows in clonal colonies that end up looking like rings, and that looks like a nice wide place where water would gather.

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

</comment></comment></comment></comment></comment></comment><comment><USER9> I thought this was going to be about the Long Now Foundation's 10,000 year clock.

<comment><USER10> It's interesting trying to compare this to Long Now. The article mentions his 'Double Negative' from ~1970 and that it's already badly decayed (a look on Google Maps supports this) after barely 40 years. It doesn't give much detail about the City, but the illustration (photo?) suggests that its most prominent features are mounds of unreinforced concrete. The famous Sandia study on long- term building that Long Now and Steward Brand often cites finds that unreinforced concrete does very poorly over the long run, and that to last, concrete needs to be reinforced and mixed extremely dryly with tons of manual labor (one reason Roman concrete has lasted so long); Heizer is doing this with a skeleton crew and must take shortcuts.

So it sounds like the depressions are going to fill in quickly on a 10,000 year timescale and the exposed concrete is going to break down on the order of centuries. It might last a relatively long time in a buried form like Mayan pyramids, but not as an artwork with integrity, and I doubt much will be left at all by 10,000 years.

</comment></comment><comment><USER11> And in a few thousand years people will wonder about it and say that it was used for ritualistic purposes, presumably.

</comment><comment><USER12> What an ugly work of art. _This_ is the long lasting record of humanity?

<comment><USER13> I personally find it compelling and inspiring the lengths that Heizer went to for this monument.

We're all ready to admire the single-minded devotion and amount of work that goes into TempleOS and I view this monument the same way.

<comment><USER14> There are lots of crazy people that obsessively build monuments.

[http://inhabitat.com/incredible-cathedral-built-by-one- man-w...](http://inhabitat.com/incredible-cathedral-built-by-one-man-with- salvaged-materials/)

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

Weird coincidence, tuberculosis was involved in both cases.

</comment></comment></comment><comment><USER15> I think the real monument to outlast humanity will be in the infrastructure we build in space. That's the real long game.

<comment><USER16> That's _Seveneves_, not _Anathem_ ;-)</comment></comment>


The Beginner's Dilemma: Your First 100 Hours of Code - <AUTHOR> http://www.vikingcodeschool.com/posts/the-beginner-s-dilemma-your-first-100-hours-of-code

<comment><USER2> Agree for the most part. I'm not the technical co-founder, but I had to learn to code... from scratch. The "all hands on deck" approach for the first part of getting a project off the ground meant I had to learn how to code. So, CodeAcademy, W3S and others came in handy. I'm not anywhere near where I should be (I think I'll never be), but starting broad and only THEN making your preferred language choices seem like the path to go (my technical co- founder keeps suggesting languages and I keep saying "sure, but first let me understand this...).</comment>


BIT operations in PHP (a simple example) - <AUTHOR> http://13.7billionyearslater.net/2010/07/16/using-bit-operations-in-php-an-example/

<comment><USER2> Generally best avoided in web applications, as all the database engines I'm familiar with can't use indexes for bitwise operations.

</comment><comment><USER3> An interesting way of dealing with flags depending on the kind of app you are developing, I wouldn't use that technique often.</comment>


Selfie.js : An angular.js directive for the missing selfie HTML tag - <AUTHOR> http://schizoduckie.github.io/selfie.js/

<comment><AUTHOR> I created this after inspiration from @iamdevloper on twitter (who is hilarious b.t.w)

[https://twitter.com/iamdevloper/status/467009473039835136](https://twitter.com/iamdevloper/status/467009473039835136)</comment>


I created a genetic programming system (and a new language just for it) - <AUTHOR> https://silverwingedseraph.net/programming/2017/04/16/sbrain-an-extension-of-brainfzck.html <comment><USER2> (defun)... square-root (number) (*).... (0) (0) number (0)

</comment><comment><USER2> I love this! Thanks.

<comment><AUTHOR> I'm glad you enjoyed it!</comment></comment>


Who am I: A mind reader (don't forget to view source) - <AUTHOR> http://tinsnail.neocities.org/

<comment><USER2> Here's the same exploit disguised as a game, to make it less obvious that it's tricking the user into interacting with it: [http://lcamtuf.coredump.cx/yahh/](http://lcamtuf.coredump.cx/yahh/)

Documentation of the game proof-of-concept: [http://lcamtuf.blogspot.com/2013/05/some-harmless-old- fashio...](http://lcamtuf.blogspot.com/2013/05/some-harmless-old-fashioned- fun-with-css.html)

<comment><USER3> Cool. That is a neat trick/exploit never heard of it before.

Thx. for the links.

</comment></comment><comment><USER4> Reminds me of that hunter2 password thing. [http://www.bash.org/?244321](http://www.bash.org/?244321)

Basically, the website doesn't know which of the squares are red, that depends on your browser state. By clicking the red squares, you're feeding it data.

The interesting observation I made out of this is that navigating there in an incognito window prevents any links from being considered as visited. That's good to know.

</comment><comment><USER5> I could probably post a similar gizmo on HN with a results static page that says

Your interests are: (some subset of) Programming Science Technology Games <random other thing: Sports, TV, childcare, etc>

With literally no scripting, and everyone would find it "reasonably accurate" :D

<comment><USER6> > _Your interests are: (some subset of) Programming Science Technology Games > <random other thing: Sports, TV, childcare, etc>_

Me being me, I clicked on random grey squares. I got exactly that.

There is a selection bias from the choice of URLs it provides.

<comment><USER7> Haha, tried it out and you are right.

I an a bit disappointed by the results anyway. Something like gender guess, sexual orientation, age range and political leaning would have been more impressive than the programming/movies graph.

</comment></comment></comment><comment><USER8> Heh. I clicked a few before I realized what was going on (looking at the status bar shows the link, which somewhat gives it away). You could prevent this by adding mouseover/out and onclick logic that removed the :href on hover and just colored itself red.

<comment><USER9> but i guess then it won't be red on hover.

<comment> martin-adams But in that case, you can add CSS to make it red on hover.

</comment></comment></comment><comment><USER10> This was really accurate to me. It seems they're using a:visited on several domains to create the "red square" effect.

<comment><USER11> Yes.

And the only reason you have to click the red squares is to let it know which ones are red. If you try to look up the color of a square using GetComputedStyle, it always comes back gray. That was the resolution of privacy Bug 147777† (":visited support allows queries into global history").

†[https://bugzilla.mozilla.org/show_bug.cgi?id=147777](https://bugzilla.mozilla.org/show_bug.cgi?id=147777)

<comment><USER12> What about if you make a screen capture from the page and use coordinates to read back the colours and correlate with the URLs? Seems a possibility based on [http://stackoverflow.com/questions/9250505/how-to-upload- a-s...](http://stackoverflow.com/questions/9250505/how-to-upload-a-screenshot- using-html2canvas).

<comment><USER13> html2canvas constructs its "screenshots" using information from the DOM, so that wouldn't gain you anything but unnecessary complexity.

<comment><USER12> Ah, OK, and other methods appear to produce blank images so presumably this route is purposefully locked down too. A java app or add-on would do it but they'd be a bit obvious for most users I'd think.

</comment></comment></comment></comment></comment><comment><USER14> Question:

I know that the `:visited` exploit is handled by the browsers so that you can't figure out by javascript what is going on...

but what if you used just CSS to figure it out? For instance, what if you generated the CSS which had a unique image it requested via the `background- image` property, stored the data on the server, then just requested the data from the server after the fact?

Do the browsers prohibit the usage of url-based css properties on CSS selectors with `:visited` or something? Does anyone have a link/reference to how the exploits were patched up?

<comment><USER15> Yes, they prohibit anything that might be used for this purpose.[0] So the CSS allowed for :visited selectors is limited to a small subset.

[0]: [https://hacks.mozilla.org/2010/03/privacy-related-changes- co...](https://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to- css-vistited/)

<comment><USER14> Great. Thanks for the link.

</comment></comment></comment><comment><USER16> Here's a related Mozilla bug report from 2002 regarding the link visited issue: [https://bugzilla.mozilla.org/show_bug.cgi?id=147777](https://bugzilla.mozilla.org/show_bug.cgi?id=147777)

</comment><comment><USER17> Original creator here. I'm super surprised to see this posted here.

I can answer any questions people have.

<comment><USER18> For those of us who don't know Javascript, I'll just ask in broad terms: What is it, how's it work, what's it do?

<comment><USER19> It's a neat little hack to predict your interests among various categories.

The hundreds of grey boxes that you see are actually links to sites belonging to different categories like programming, science etc. and the red ones are those that you have visited (based on your browser history). The basic idea here is of using the CSS selector a:visited to highlight visited links in red, and by clicking the red boxes the users themselves reveal the sites they have visited. The website then uses this information to draw a pretty pie chart showing which categories the user is interested in.

<comment><USER20> Apart from making it seem like a game, is there any reason why the user has to click the squares? Is there a way for the browser to report back which elements are currently red?

<comment><USER21> That used to be possible by reading the styling in JS, but that was considered a privacy bug, since any website could slurp information from your browser history. Therefore there was an overhaul of what kind of styling could be done based on history, and what could be read back about it in JS: [https://blog.mozilla.org/security/2010/03/31/plugging-the- cs...](https://blog.mozilla.org/security/2010/03/31/plugging-the-css-history- leak/)

</comment></comment></comment></comment></comment><comment><USER22> This just solved a huge problem I've been struggling with. This is beautiful - I don't actually want to know the information I've been trying to access, but it will make the experience better for the user. I now realize I don't HAVE to know - the browser knows, and that's all that matters. I just have to teach the browser what to do.

</comment><comment><USER23> If nothing else, I did get a good list of Programming and Engineering websites :D - [http://pastebin.com/zrQ7EBnP](http://pastebin.com/zrQ7EBnP)

<comment><USER24> This is OT, trivial and a bit silly: How did you intend the json file? I tried with sublime but couldn't find anything to solve it. Didn't start an IDE for this.

<comment><USER25> There's several JSON formatter packages that can be installed via Package Control: cmd + shift + P, select "install package", then search for "json". I'm not sure which one I have installed, but doing cmd + shift + P in a proper context and typing "json" should give you an option for "Indent JSON" or similar.

Otherwise, there's always sites like [http://pro.jsonlint.com/](http://pro.jsonlint.com/)

</comment></comment></comment><comment><USER26> Obvious question - how was the list of URLs compiled? Some are really specific like YouTube channels. On the other hand there are only 15 categories and there are probably a lot of people that would not get a single match or only something very generic like Wikipedia.

<comment><USER27> The coolest way would be cold, hard natural selection from Alexa top sites, possibly with weighting placed to relevant sites at the introduction of the dataset. Perhaps I will fork.

<comment><USER28> Your interests are: Google, Facebook, Youtube, Yahoo

<comment><USER29> Yeah - it might be even better to subtract the most common sites, so the results are more peculiar to you.

</comment></comment></comment></comment><comment><USER30> Here's a paper about this technique: [http://www.ieee- security.org/TC/SP2011/PAPERS/2011/paper010....](http://www.ieee- security.org/TC/SP2011/PAPERS/2011/paper010.pdf)

</comment><comment><USER31> Couldn't one simply make a display:none on normal links and display:block on :visited, then stack them all on top each other with position:absolute and catch mouse events from each element via JS?

<comment><USER32> Browsers have a very limited set of properties that they allow in :visited rules, and display isn't one of them.

</comment></comment><comment><USER33> If you open the console and run this script, it'll click every single square, giving a list of the most common types of sites in the array being used:

         for(i=0;i<$$('a').length;i++) {
           $$('a')[i].click()
         }

<comment><USER34> I had to change it to start at i=1 to avoid clicking on the link to github and leaving the page

<comment><USER33> Ah, that makes sense, I wrote and ran the script before he open sourced it.

</comment></comment></comment><comment><USER35> I remember reading about the old CSS history hack (an automated variation of the same theme), which worked until FF4 and IE9.

It's quite interesting to see how such a seemingly simple feature (a:visited) can completely override user privacy if not accounted for.

</comment><comment><USER36> This is quite clever. By the way now I've got a nice list of blogs/websites that I should probably read for various topics.

<comment><USER19> That's what I was thinking too. Here's a prettified list of the sites used: [https://gist.github.com/amjd/acc5e108bfb2f29f050c](https://gist.github.com/amjd/acc5e108bfb2f29f050c)

<comment><USER37> Thanks so much. Been looking for an up to date blog roll like this for a while.

</comment></comment></comment><comment><USER38> Hm. Do you really need interaction at all?

Can't you just :visited { margin/pos/whatever }, then probe the dom on that or related elems to extract the juice? Or have browser vendors thought of this?

<comment><USER39> This is a very old attack that has numerous security measures to prevent you from doing that now.

<comment><USER38> I presumed as much. But if you can covertly jimmy the UI and parse the user's interaction, you can more or less get at the history like that anyway.

I don't see any secure way to handle this besides disallowing :visited styling entirely.

<comment><USER40> I'm having a hard time following here. What is "covertly jimmying a UI" and how would it allow you to exploit visited styles?

<comment><USER39> For a less "covert" example than I am sure the OP was thinking, you could have "click the red button to continue" sort of like this page does. :)

<comment><USER41> Wouldn't that also require a hundred same sized differently colored buttons, just like this site?

<comment><USER42> Not necessarily. What if the un-visited box was set to display:none? That would leave you with just the visited boxes showing.

Now make it even less obvious: create a false box with the proper :visited color. That's your bottom layer, your fallthrough if the user hasn't visited any of them. Now position all of the :visited boxes as exactly the same size and position over that bottom layer. Now, when the user clicks the button to continue, they're guaranteed to click either your fallthrough ("user has none of my sites") or one of those you are monitoring for.

The end result of all this is a page that says "Click the box to continue."

<comment><USER43> > Not necessarily. What if the un-visited box was set to display:none?

Then it would remain 'none' for the visited box too. Messing with 'display' is disabled in 'visited' to prevent this class of workarounds.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER44> Was on incognito and wondering why I didn't see any red squares...

<comment><USER36> That is, I am guessing, because there aren't any re-marketing cookies,history and other markers when you open the page in incognito

<comment><USER45> No, it was because incognito tabs don't have access to browser history.

This web-app's functionality is based entirely on browser history and has nothing to do with 're-marketing cookies' or other 'markers'.

Not to mention that the parent commenter clearly understood this fact.

</comment></comment></comment><comment><USER46> Interesting.

At first I thought it would deduct information about me by analysing which squares I'd choose in what order and through other metrics like pacing.

</comment><comment><USER47> "Could not determine interests. (Pssst, If you did not get any red squares, try visiting without being in Private or Incognito mode)"

Indeed I am unhackable.

</comment><comment><USER48> I had a very similar idea a while back, except I was measuring onAnimationFrame times with a carefully crafted CSS stylesheet to determine which links were being painted as :visited automatically and completely hidden from the user.

Accuracy varied a lot between computers but in ideal circumstances (only browser running) it would have ~90% accuracy on each of 25 links I was testing against - the test took about 8 secs to run though.

Interestingly it never worked particularly well in chrome - chrome seemed to stop painting :visited elements after a certain amount which prevented it from working.

</comment><comment><USER49> This is mind-blowing, mine was pretty accurate! I know I can view the source code, but is this/similar code available from GitHub or somewhere for us to use in our own weekend projects? (:

<comment><USER17> I hope to clean up the code and post it to GitHub tomorrow.

<comment><USER49> Thank you very much, that is very nice of you! ^^

</comment></comment></comment><comment><USER17> For anyone interested in the source, I started hosting it on GitHub at [https://github.com/Conlectus/WhoAmI](https://github.com/Conlectus/WhoAmI).

<comment><USER50> do you plan to put the graph into the source anytime soon? i was curious at looking through the code.

<comment><USER17> I just added the graph to the source.

</comment></comment></comment><comment><USER51> It was eerily accurate on me.

1\. science 2\. technology 3\. programming

<comment><USER52> They could do the same game, but hard-code the results, and be right for 95% of the audience here :)

<comment><USER53> Hmm, I was: 1. technology 2. programming 3. history 4. politics 5. design 6. architecture

And it was dead-right.

<comment><USER54> same for me, though I barely read anything on history or politics

</comment></comment></comment></comment><comment><USER55> In Firefox, you can go to about:config and set layout.css_visited_links_enabled to 'false'. This page, and others that hack the visited links styles, will no longer work.

<comment><USER56> Note that in Firefox only a few visual hacks will work nowadays. This means that sites can still change the local style of visited links to fit in with their colour schemes. BUT, you can't trawl someone's history by exploiting :visited any more.

And also note that this will remove all :visited styling, included the usual blue->purple. Just a heads up for people changing this variable because they think their privacy is being invaded.

[https://hacks.mozilla.org/2010/03/privacy-related-changes- co...](https://hacks.mozilla.org/2010/03/privacy-related-changes-coming-to- css-vistited/)

</comment></comment><comment><USER57> I thought the a:visited exploit was addressed.

<comment><USER58> I spent an unfortunate chunk of time trying to auto-click all the red square via jquery in chrome console. After a lot of reading and experimenting, I can verify that the exploit is thoroughly addressed (so far), and I cannot achieve my goal because of it :(.

The most promising workaround would be to find a JS screenshot tool that doesn't rely on the DOM, and then run some client-side image analysis to get the index values of the red squares, and then go from there to click the things. Well played, exploit fixers, well played.

<comment><USER59> You could access the webcam and zoom/enhance the reflection in the eyes to get the screenshot.

<comment><USER58> Think I just found a way using canvas with a semi transparent element inside of it, then overlaying that on each square, grabbing the computed/resulting color of the canvas to decipher which block is what. S O O N

<comment><USER60> I tried doing this:

[http://jsfiddle.net/path411/sRkWq/](http://jsfiddle.net/path411/sRkWq/)

It appears as though Chrome (37-dev) will not receive any data from behind the canvas, while IE11 and FF(29) will allow me to see pixels behind the canvas, but only see the unvisited color.

I don't believe there is another method to receive the color of a pixel from a canvas except through getImageData(), but I could be wrong.

</comment></comment></comment></comment></comment><comment><USER61> What's more interesting is that someone spun off Geocities and called it Neocities.

<comment><USER62> Here's the original discussion on HN: [https://news.ycombinator.com/item?id=5957850](https://news.ycombinator.com/item?id=5957850)

</comment></comment><comment><USER63> I swear to god I only clicked one link to Salon and I didn't even mean it. STOP JUDGING ME

</comment><comment><USER64> Hahaha. I was giving it the benefit of the doubt before viewing source, and so I was wondering what happens when I push gray instead of red. :P That is probably why I got some weird interests in my results.

</comment><comment> stargazer-3 On my second try, determined to find out how it works, I drew a random smiley shape in grey box area. Painting was added to the list! Was so disappointed to find out it was a coincidence.

</comment><comment><USER17> Once again, creator here.

I just pushed an update that added more topics and graphs. I have had reported problems after the update. Can anyone confirm?

</comment><comment><USER65> From the number of squares, I thought it might end up doing something even more 'clever' i.e. generate a square for each of the most recent n URLs from feeds of m _news_ sites, then analyse, for example, words in headlines of those articles to determine what I'm interested in. Lots of potential for data analysis once you have someone's browser history.

</comment><comment><USER66> I was in Fx Private Browsing. I spent about fifteen minutes trying to figure out why I had no red square!

</comment><comment><USER67> Doesn't work for me because I disabled :visited last time this sort of thing got discussed. :V

</comment><comment><USER68> This is really clever. One interesting use for this would be to target ads at people who visit certain sites, or to customize your site's landing page to direct visitors toward areas they might be interested in.

</comment><comment><USER69> I made an automated version, check it out here: [http://projects.milankragujevic.com/jspy/](http://projects.milankragujevic.com/jspy/)

</comment><comment><USER70> I remember few years ago this concept was demonstrated as an way to get user website history from the browser. This is big privacy hole. And sadly nothing changed. Which is sad.

<comment><USER71> In a way it is, but only really through tricks like this one. Browsers can no longer access the properties of :visited, but they can affect how visited links are displayed.

</comment></comment><comment><USER72> I get the same three red boxes in Chrome every time, and none in Firefox or Safari. I get three categories at the end, with no links or anything. What am I doing wrong?

<comment><USER73> It shows you squares for a bunch of websites. Those you visited before in that browser are red. By clicking them, you tell the site that they are red, thus that you visited them. Each site belongs to a category and thus it comes to its conclusion.

</comment></comment><comment><USER74> There are much more effective tricks to use in production. You can leak user's FB token for some huge client, and you get his email/name/bio.

</comment><comment><USER75> This was exactly backwards for me... maybe I read it upside down? I jest, but the concept is cool, just needs to be refined I'm sure.

</comment><comment><USER76> Should explain itself better. All I get is a bunch of grey boxes (no red ones) and if I click done I get "Your interests are:"

<comment><USER17> Thanks for the suggestion! I made it so that it explains itself if you don't click any red boxes.

</comment></comment><comment><USER74> Oh also it's easy to check if you're logged in on Service1 using CSP. No user interaction, same results

</comment><comment><USER77> No red squares here. Am I doing it wrong?

<comment><USER78> I don't have any either. I think it's because I've turned off internet history on Firefox.

<comment><USER79> Yep. I took me a few minutes to figure out why it wasn't working for me...

</comment></comment></comment><comment><USER80> Maybe this link just saved my life!!! The clue for the clueless is in their forgotten yesterday.

</comment><comment><USER81> the trick with a:visited is really awesome :D

see on github: [https://github.com/Conlectus/WhoAmI/blob/master/css/main.css](https://github.com/Conlectus/WhoAmI/blob/master/css/main.css)

</comment><comment><USER9> Improvement: You can make the gray boxes light enough (same as bg) so only Red are visible.

</comment><comment><USER82> It's a shame I had only 4 red blocks. I should diversify :)

Fun experiment !

</comment><comment><USER83> Some people are just too genius or protective of their privacy to enjoy this! :)

</comment><comment><USER84> Results are good except that I have no gaming sites in my history actually

</comment><comment><USER54> Can we use this for filtering hacker news articles?

</comment><comment><USER85> can someone post a screenshot of what happens once you click all the red boxes? I have too many of them and dont want to do it ...

</comment><comment><USER86> Haha, should have been pr0n sites :P

</comment><comment><USER87> How are the categories obtained?

</comment><comment><USER88> It didn't work for me.

</comment><comment><USER89> funny, perfect result!! and the concept is so simple, well done!

</comment><comment><USER90> Nothing was red for me

<comment><USER91> You cleared your browser history recently?

</comment></comment><comment><USER92> I am <blank>???

</comment><comment><USER93> Wao, reading my browser history while I am playing a stupid game. Elegant. :)

<comment><USER94> Not quite. See discussion above. You _gave_ it your history by clicking the red dots and not clicking the others.

</comment></comment><comment><USER95> This is pure genius.

</comment><comment> aps-sids I had opened link in Private (incognito) window. #fail

</comment><comment><USER96> Hmm, clever.

</comment><comment><USER28> piratebay is not movies

</comment><comment><USER97> nice.

</comment><comment><USER98> I just read the source code, uses caches.

</comment><comment><USER99> This can be done without any user interaction (and most likely has done to you without you knowing it). Check this link for 101: [https://stackoverflow.com/questions/1584850/is-it- possible-t...](https://stackoverflow.com/questions/1584850/is-it-possible-to- get-anchor-visited-state-from-javascript)

<comment><USER100> Here is a white paper of another exploit without user interaction, which is still working on most browsers. It's called "Pixel-perfect timing attack".

[https://media.blackhat.com/us-13/US-13-Stone-Pixel- Perfect-T...](https://media.blackhat.com/us-13/US-13-Stone-Pixel-Perfect- Timing-Attacks-with-HTML5-WP.pdf)

The related bug on the Chrome tracker was closed with a "won't fix".</comment></comment>


Misery of a nuclear war between India and Pakistan would be global - <AUTHOR> https://arstechnica.com/science/2019/10/misery-of-a-nuclear-war-between-india-and-pakistan-would-be-global/ <comment><USER2> India and Pakistan may be enemies on paper, and there may be genuine animosity among a small minority. But most Indian and Pakistani people get along very well - to imagine that they would nuke each other in anything but a highly limited tactical way is a great way of suggesting you have absolutely no understanding of the situation.

<comment><USER3> I think nuclear war is highly unlikely. However, it almost certainly wouldn't be "highly limited" or tactical.</comment></comment>


Ask HN: What are the typical salaries of senior front end engineers at FAANGs? - <AUTHOR> What are the typical salaries of senior front end engineers at FAANGs? <comment><USER2> At FB the bands are the same for all engineers. E5 (acheivable by working for fb for about 2-4 years out of school) is ~180 salary. Though senior might match closest to E6, around 245 salary. TC is probably around 1.8x salary.

<comment><USER3> I think the "senior software engineer" title maps to an E5.

</comment></comment><comment><USER4> At Facebook, same comp and level bands as non-frontend.

</comment><comment><USER5> I'm guessing this is a question for blind.

</comment><comment><USER6> teamblind.com</comment>


Uber without Internet - <AUTHOR> https://play.google.com/store/apps/details?id=me.nicapp&ref=producthunt <comment><AUTHOR> Why I built this? I travel often, and I don't have internet access in every country. If we consider internet prices are higher than SMS prices while you're in roaming, this is much better for me. Moreover, I'm active user of Uber.

Moreover, if we can see that most of the people doesn't have access to the Internet. However, they have access to 2G network, which is enough to send and receive SMS messages. My app already have active users from countries such as India, Pakistan, Nigeria, Egypt, etc.

The next goal is to give internet access to internet-restricted countries! Let's connect the world.</comment>


Pen vs. Pen: Dealing With A Copycat By Naming & Shaming - <AUTHOR> http://www.techdirt.com/articles/20120824/08241820146/pen-vs-pen-dealing-with-copycat-naming-shaming.shtml <comment><USER2> Wow, this is a pretty sad story.</comment>


How Analog TV Worked - <AUTHOR> http://datagenetics.com/blog/april12018/index.html <comment><USER2> Awesome read, I like how it goes more in depth about things like color burst that most articles I've read ignore since it's not (usually?) relevant to modern displays</comment>


Show HN: Introducing Metrica - Ad-hoc Analytics for MongoDB - <AUTHOR> http://blog.getmetrica.com/post/44051955986/introducing-metrica

<comment><AUTHOR> Hi HN, I'm David, creator of Metrica. I'd love to get your feedback on the post and the product. Thanks!

<comment><USER2> It's interesting, but there is surprisingly little (next to no) details. Are you using map/reduce or Aggregation framework? Is the data out to be consumed by say Ruby client or are you just displaying results on the web? Looks like a pure landing page just to test to see if there is interest. If that's your intention, I don't like baiting HNers instead of just asking. If not, I recommend to put some examples, use cases and more information before posting here.

<comment><AUTHOR> Hey, thanks for the comment. The product has beta customers already, and is ready for more.

I've been working with the Citus Data guys on the MongoDB Foreign Data Wrapper for PostgreSQL. I've added a bunch of features to the wrapper and use that to enable the queries. Maybe I should add a "How does this work?" question to the FAQ?</comment></comment></comment>


Open Source Micro-Purchasing Forked in Singapore - <AUTHOR> https://gbuy.gds-gov.tech/ <comment><USER2> Interesting! This kind of forking and hopefully inter-government OSS co- operation is exactly what I've been hoping to see.

</comment><comment><USER3> FYI: "Bidders must have a bank account in Singapore to receive payment for work done."

<comment><USER4> I looked for that on the site and didn't find it. Would you mind linking the page with this statement? Thanks.

<comment><USER3> Hit Sign up, then Authorize with GitHub.

</comment></comment></comment><comment><USER5> And btw it would be very interesting if anybody from the US would like to write a little bit about the role of 18F - I am not sure that I understand things right, but it seems to be a very interesting concept of governmental IT services.

How is this agency perceived? How does it work out in practice? How are things coordinated? Anything would be appreciated!

Thanks!

<comment><USER6> Hello! Happy to answer any questions you have about 18F. The basics: we're an office of federal employees inside the General Services Administration that helps other federal agencies improve how they build, buy, and share technology. Other agencies have to pay us for our work, so we operate in a similar way to a private business. You can see a summary of the types of things we ship (with examples) here [https://18f.gsa.gov/what-we- deliver/](https://18f.gsa.gov/what-we-deliver/). More info about the micro- purchase platform here [https://18f.gsa.gov/tags/micro-purchase- platforms/](https://18f.gsa.gov/tags/micro-purchase-platforms/)

*I'm an 18F employee.

<comment><USER5> Thanks for your answer!

I am just looking at this from the viewpoint of an interested citizen (in Europe) and try to compare with how things work here. Currently I suspect we are heavily missing something like 18F.

Do you know what brought 18F into existence? Was this an administrative initiative? Was there big resistence to start that? I am interested in some of the "meta" behind how all that happened.

Also: are there some laws involved?

I guess I could contact your press office, however, maybe you would like to post some interesting links to stories that certainly went unnoticed on the other side of the ocean.

Things like 18F show a very interesting aspect of USA that does not fit into the usual "ultra-capitalist" stereotypes that are painted in the european media much too often. Especially the commitment to OS is extraordinary interesting!

Thanks for your attention!

<comment><USER6> 18F came out of the Presidential Innovation Fellowship (pif.gov) when some fellows wanted to stick around and continue their public service. So they created 18F as a more permanent home that could house larger projects and hire people for longer tours of duty. It's a sister office to the U.S. Digital Service (which is in the White House) but it's primarily a GSA initiative.

There aren't specific laws involved. We aren't funded by Congress, but instead by an investment from GSA and fees from our partner agencies.

Here's one of the larger stories about the digital services movement in the U.S., including the U.S. Digital Service and 18F. [https://www.fastcompany.com/3046756/obama-and-his- geeks](https://www.fastcompany.com/3046756/obama-and-his-geeks)

We've taken heavy influence from the GDS team in the UK, and Estonia is also a leader in digital government. [https://18f.gsa.gov/2015/06/17/what-estonia- can-teach-us-abo...](https://18f.gsa.gov/2015/06/17/what-estonia-can-teach-us- about-government-records/)

</comment></comment></comment></comment><comment><USER7> Gbuy is an ... awkward name for a Singaporean service.

<comment><USER8> It's pretty common. We have G-Cloud Cloudstore [1] and GeBIZ [2] among other things.

[1] [https://www.ida.gov.sg/programmes- partnership/sectors/G-Clou...](https://www.ida.gov.sg/programmes- partnership/sectors/G-Cloud-Cloudstore) [2] [https://en.wikipedia.org/wiki/GeBIZ](https://en.wikipedia.org/wiki/GeBIZ)

<comment><USER9> They're alluding to the fact that Gbuy sounds similar to a Hokkien profanity :)

</comment></comment></comment><comment><USER5> Does anybody have a list of similar gov services around the world?</comment>


Show HN: First Music Regulation Equity Crowdfunding Offering - <AUTHOR> http://stampedelive.com <comment><AUTHOR> Hi HN,

We are Spencer and Cole, and we are college dropout entrepreneurs from Hawaii on a mission to revolutionize the entertainment finance industry and democratize investing.

Stampede Live allows investors to purchase real ownership stakes in their favorite creators' projects, and, if the project is successful, investors are paid annual royalties based on the amount invested. The platform is not another crowdfunding site. Up until recently, fans were not allowed to invest in creator's projects but instead could only donate in exchange for a small reward (perk). For years, creators and fans have criticized these platforms for having no mechanism to fairly financially compensate donors and listing many projects that significantly delay or even fail to deliver their promised perks. Having successfully secured regulatory approval from the government to provide these offerings, Stampede Live hopes that deals will allow creators to run viable businesses and investors to receive the financial compensation they deserve for investing in what they believe in.

We help creators: 1\. Raise capital for an album or film 2\. Engage an established fanbase 3\. Become financially independent

We help investors: 1\. Invest (not donate) in their favorite creators 2\. Discover pre-vetted projects 3\. Access simplified information to make financial decisions

Stampede Live launched its first offering for folk singer, Marie Miller, on July 29, becoming the first music equity crowdfunding deal in history, and the campaign is currently almost 75% funded. A 10-year music veteran, Marie Miller has earned millions of digital streams and has toured with great acts such as Five For Fighting and Kris Allen.

Please let us know if you have any questions or comments!</comment>