A sample open-source toolchain for satellite crop health monitoring - <AUTHOR> http://wechoosethemoon.es/2015/10/08/landsat-ndvi-leaflet/ <comment><USER2> This is very interesting... I was just researching per-pixel classification, and remote sensing seems to be the field where that gets the most action.

I guess my question would be to any onlookers that would know better... is there any sort of python or Java or C# (or something scripty) library for general purpose per-pixel classification? Maybe on texture or colour?

<comment><USER3> Check out QGIS. They have a bunch of plugins which should give you a good start.

</comment></comment><comment><USER4> This is pretty awesome, and I'm looking forward to playing around with it this arvo. Although I somewhat disagree with "Resolution at these bands is 20m per pixel, a lot less than the sub-meter imaginery of Google Maps, but enough for most crop fields."

From a whole farm overview point of view, 20m/pixel might be ok, i.e comparing entire paddock response, but for creating useful maps and applications in the field, we really do need better than that. We can individualize input control down to a per nozzle (plant) basis, so ideally the data we use to create maps should be as close as possible to that resolution.

<comment><AUTHOR> Ah, I agree with you on that! This quarter Sentinel-2 should improve the freely available resolution to 10m per pixel, but sadly there aren't any open access higher resolution instruments (that I know of!).

However, note that "we can individualize input control down to a per nozzle" is sadly not prevalent everywhere! Even here in Spain the irrigation of a lot of crops dates back centuries and is basically flood irrigation, so the only control input is really "flood the entire thing, or not" :|

One thing which I find very interesting for high precision installations is the use of drones for automatically inspecting areas that need the most attention. I hope open hardware & open source drone platforms greatly improve the options for farmers!

</comment></comment><comment><USER5> Why does the page have a weird scroll smoothing effect?

</comment><comment><USER6> Great explanation and very interesting project.</comment>


Ask HN: Has anyone you ever shake hands with became a coronavirus victim?? - <AUTHOR> So now we have a 1/150 chance of knowing a covid-infected person and 0.007% of knowing a covid-Victim.
I , a 9-5 cubicle professional, personally know 2 positive persons and 0 deceased. Statistically I should have met 0 infected persons. Does it show tech community has equal (higher) exposure?
What is your experience? <comment><USER2> More people = more chance of exposure.

You could easily deduce how many people in your office would probably get it if you all were still headed into work based on how many people get the flu or sick each year.

I work in an office of over 100 people. We have a cleaning crew that comes in each day. Weird things happen to everything when you work in an office: human dirt and dust somehow manage to get everywhere.

Every flu season, I manage to avoid getting sick _thank goodness_ because I generally avoid people and I have always made it a rule of my own NEVER EVER touch door knobs, handles, or high trafficed surfaces, for which I use a sleeve instead. And because I've lived like that, my chances of getting sick have been reduced. But others don't seem to be too lucky, and I'd say around 25-30 people or so get flu-like symptoms each year as it gets passed around the office.

However, when I think back on over 100 people in the office, it's generally like you all pass it amongst each other. Where does it come from? Some of those people send their children off to school who then get exposed to other children and their germs, who then bring it back to their parents, who then bring it into the office, so they can share with everyone.

COVID-19 is no different than other pandemics or even the flu that we've had. It is a deadly virus that can kill the most vulnerable in society, but it still highlights just how immune to most diseases we are each day, or at least, the fact that our bodies have been very quick to adapt to a lot of changes each day. There are millions of different bacteria that humans come into contact each day, and then they touch their faces, food, and others, and spread it. And yet... at worst, we will get sick. However, many of us might only experience none to mild symptoms, meaning we might get a sore throat for a few hours or an outright cold for a few days.

While I cannot speak for the tech community, I will say that my direct team -- not the 100 people in the office, but my deparment, which consists of about 12 people are pretty much all introverts and keep to themselves. I've actually tried to hang out with a few people in the past, I think one accepted an offer and we went hiking, and it never happened again. So for my team specifically, I highly doubt anyone is going to get the virus. Also for my state, the numbers are a bit lower, as soon as the first case hit here, our state pretty much got locked down. I believe we are now in a full month of quarantine since it started and we were told to work at home indefinitely until the news changed.

Many tools will show you what the average is of how many people get it. My state has about less than 1,500 cases, and about 60 people are getting COVID-19 per 100,000. In New York, the highest cases, about 1,000 people will have COVID-19 for every 100,000 people. Chances of living in a city will boost your chances of coming into contact with someone who is infected.</comment>


Don't get caught up in blockchain hype - <AUTHOR> https://blog.apnic.net/2017/12/14/dont-get-caught-blockchain-hype/ <comment><USER2> Here[0] is a great article about what a blockchain is and isn't good for for. The tldr is that blockchains make tradeoffs that are bad for most things.

 _In fact, on almost every dimension, decentralized services are worse than their centralized counterparts:_

 _They are slower_

 _They are more expensive_

 _They are less scalable_

 _They have worse user experiences_

 _They have volatile and uncertain governance_

 _And no, this isn't just because they are new. This won't fundamentally change with bigger blocks, lightning networks, sharding, forks, self-amending ledgers, or any other technical solutions._

 _That's because there are structural trade-offs that result directly from the primary design goal of these services, beneath which all other goals must be subordinated in order for them to be relevant: decentralization._

[0][https://blog.chain.com/a-letter-to-jamie-dimon- de89d417cb80](https://blog.chain.com/a-letter-to-jamie-dimon-de89d417cb80)

<comment><USER3> They also don't require trusting a single third party processor... which is sort of the whole point. Blockchains are a tool to solve certain classes of problems, not every financial problem, or even most financial problems.

<comment><USER4> All of those points are temporary scaling and optimization issues that will be overcome.

<comment><USER5> Why is this comment being downvoted? If you disagree, please say why.

<comment><USER6> I didn't downvote, but it looks like hand wavy bullshit to me. If you're gonna dismiss fundamental blockchain tradeoffs as being minor temporary obstacles, I think the onus is on you to back it up - not the other way around.

<comment><USER5> Ok that seems fair

</comment></comment></comment></comment></comment></comment><comment><USER7> From the article, about the supposed expert who is skeptical:

> For all that she has learned, Radia is first to confess that she is by no > means an expert in the technology — admitting that she cannot distinguish > exactly what makes something blockchain technology

The article is right about one thing though - a lot of people are talking blockchains up without having any idea about what they are or how they work.

Conversely, a lot of people, like Radia in the article, are talking blockchains down, without understanding them.

<comment><USER8> People who "understand blockchains" don't agree on what exactly distinguishes something as blockchain technology, and people (and companies) are claiming all kinds of things as using "blockchain technology".

<comment><USER9> Isn't blockchain just a type of data structure?

<comment><USER10> Yeah sure but you need to understand asymmetric cryptographic to know how secure this data structure is, and how it can prevent attacks from private-key holders and non-private-key holders that claim to be holders.

<comment><USER11> No, "block chain" itself just refers to the hash-chain ordering of transactions. Using asymmetric crypto to verify spend conditions is sorta orthogonal to that.

<comment><USER10> blockchain without cryptography is like writing a data structure without any motivation for its existence. i.e. why hashtables were created in the first place? To have indexing (faster access than simple array/lists). What would be the point of a blockchain without cryptography? You cannot call that blockchain IMO (otherwise, any chain of blocks would be a blockchain, for example: a file is a blockchain, right?).

<comment><USER12> _blockchain without cryptography is like writing a data structure without any motivation for its existence_

Note that you said _asymmetric_ cryptography and your parent said that _asymmetric_ cryptography is not the basis of the block chain. And they would be right, at its core, the blockchain consists of blocks of transactions in a Merkle tree. The Merkle tree typically uses a cryptographically strong hash, otherwise it would be possible to modify the Merkle tree without anyone noticing. But a hash is _not_ asymmetric cryptography.

In many applications of the blockchain, asymmetric cryptography is used to sign transactions. But that is largely orthogonal to the blockchain as a data structure. The blockchain as a data structure has useful applications without transaction signing, etc.

What makes the discussion clouded is that some people define 'block chain' as transaction blocks in a Merkle tree, while others also consider distributed consensus, etc. to be part of the block chain.

<comment><USER11> Also there's no reason _asymmetric_ crypto has to be used. You could use Lamport signatures, for example.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER13> It may be too late for a lot of people. My mom called me today, she's a retired teacher in her early 70s, and the guy installing her new gutters in Mount Vernon, WA (USA)* just put a few grand towards Bitcoin and now my mom is thinking of making a significant financial investment in the same. She has not-a-single-clue what Bitcoin is, does, or could do. She only knows that it is all over the news and everyone, including the handyman installing her gutters, is throwing money at cryptocurrencies (though few call any by that name). Everyone is hoping to get rich quick.

* Not quite the middle of nowhere, but certainly not a tech hub

<comment><USER14> it's already posing a significant threat in smaller economies like South Korea. a lot of people (even here on hacker news) don't seem to understand the consequences of bitcoin & cryptocurrency. i am very concerned.

a lot of bitcoin followers seem to think that decentralization saves us from arbitrary value adjustments. decentralization completely exposes currency to volatility and does not self-stabilize nicely regardless how many people use it, because supply is broken. this false idea that decentralization is good for currency shows lack of understanding in how currency works. a central authority is _required_ to protect the value of currency. that is why central bank prints money and does QE. it is not a conspiracy to enrich some cronies. without central authority, it cannot function as currency.

<comment><USER15> What is the best book on our current central bank currency paradigm you would recommend?

<comment><USER14> I don't know a book to recommend. basic scheme is explained in any money & banking textbook. if you know what a bank run is, why it occurs and how it is being prevented then you will see why bitcoin's decentralization makes no sense. only part that is probably not on textbook is this blind faith that volume guarantees stability. it does not.

<comment><USER16> I know what a bank run is, why it occurs and how it is being prevented (probably better than your average bear) and I see no correlation between that and bitcoin.

The only problem I see, if you could even call it that, is that bitcoin "banks" (exchanges?) are restricted to being 100% warehousing operations since there is nobody to bail them out if (when?) they decide they can make more profit earning interest by loaning out the funds they are contractually obligated to hold.

If you want to avoid a run on your bitcoin exchange then simply don't engage in fractional reserve banking...or, I suppose, don't lose all your holdings to hackers.

<comment><USER14> i am saying that when bitcoin value takes a hit by some global event, and people panic to sell, there is nothing that will stop the value from gyrating to zero. what are you talking about? what does charging interest or reserve have anything to do with this? you make no sense.

<comment><USER16> You know that's totally, completely different from a bank run, right?

Central banks have very little influence on the value of their currency once people lose faith in it, people will buy _anything_ instead of holding on to their (usually rapidly devaluing) currency.

One thing every holder of bitcoin knows is it will never suffer through hyperinflation, ever.

<comment><USER14> central bank scheme is not perfect. however central bank has proven to be very effective at providing stability to currency. bitcoin's scheme is vastly inferior. protection from hyperinflation is not a great benefit compared to unstable currency value bitcoin is designed to suffer. also hyperinflation doesn't occur unless the government is essentially defunct. I'm sure people would just switch to some other reputable currency before it happens.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER17> Here are some points to consider as to whether blockchain is appropriate for your application:

Data on blockchains is by default, unencrypted, especially data that needs to be validated by the nodes. Blockchains do not have inherent security against read access. You can control read access to some degree by encrypting certain elements on your blockchain but this can be compromised. Not all information on the blockchain is true; data still needs to be checked and uploaded correctly and as such is open to human error. No amount of time guarantees something will stay in the ledger. It is also difficult to remove data if required by law. It's not secure because it depends on the assumption that the blockchain community has more compute than the rest of the world. It's absurdly expensive to mine blocks to store data indefinitely. Lack of government regulations for blockchain could impede growth.

<comment><USER18> "It's absurdly expensive to mine blocks to store data indefinitely."

Is this true of all block chains or specific to bitcoin?

<comment><USER19> If you don't have mining, or a similar way to decide between various possible forks, what you have is a cryptographically secured append-only ledger (such as what the git data-format resembles).

That's not a blockchain and that idea has existed for decades already.

I think that idea is now being called a "blockchain" since in reality the trustless/proof-of-work nature of a true blockchain is largely wasted for specific companies.

<comment><USER20> It's a blockchain if you have a directed linked list of blocks. Even git is to some extent blockchain.

<comment><USER19> That's a redefinition of what a blockchain is IMO.

That's definitely the definition some companies are operating under.. but really?

WALs and journals have existed for _ages_ and both fit the definition of a directed list of blocks.

Hell, ext2 and FAT fit that definition (inodes forming a directed list of block-references).

I guess we all store our data on something that's technically a blockchain by your definition.

<comment><USER20> It's not a redefinition, it's a definition that has been around since the 1990's [0], the only requirement for a blockchain is A) directed linked list (block points to previous block) and B) cryptographic security (use hashes as block index)

Bitcoin is merely the first application to use Blockchain in a decentralized proof-of-work manner.

<comment><USER21> A git repository is a Merkle tree.

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

A bitcoin blockchain is _also_ a Merlke tree.

But a git repository is _not_ a blockchain.

<comment><USER20> It is a blockchain is you don't merge since you have a commit pointing at a previous commit, (block points to block), merges point to two parents but Ethereum has that almost with uncle blocks.

The commit log of a repo is almost certainly a blockchain, which is why I mentioned "to some extend"

<comment><USER21> You are simply wrong.

Think of a blockchain as only one strand (say, the leftmost strand, from a leaf all the way to the root) of a Merkle tree. Think of a git repository as the whole tree. So no, they are not equivalent.

If they were there would never be a way to have more than one branch depend on a previous one.

<comment><USER20> As mentioned, the git commit log, not the entire repo, which is more organized like a merkel tree, though that is only really the storage.

The commit log is a strict DAG, if you don't have any merges, it is a strict blockchain, otherwise it gets fuzzy but is close enough.

I never said it's equivalent but that is what a blockchain is; "A blockchain [...] is a continuously growing list of records [...] which are linked and secured using cryptography."[0]

This doesn't mention "Can't be a merkle tree" for one, but also doesn't mention "can't consist of branches which merge again" or "requires proof of work" or "must use signatures" (cryptography refers to the hashes normally but can refer to anything else too)

Git also acts like a blockchain, if you change the past (edit a past commit) you need to update all following commits for the new hash and their children hashes and anyone who has the repository must do a force pull, similarly to how Bitcoin rejects fork chains with less proof-of-work.

It might be worth mentioning that Bitcoin also uses MerkleTrees for storage as they are very good for quickly comparing sets.

A blockchain does not necessarily process financial transactions at all and I don't see why it must be a requirement.

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

<comment><USER21> "if you don't have any merges" -> so, not a blockchain.

What you are saying is that you can use git in such a way that you get something resembling a blockchain but - again, and it is getting tiresome - that does no imply equivalence between git and the blockchain.

I really don't understand why you keep arguing.

<comment><USER20> As I mentioned, even with merges it still has the properties of a blockchain, just not the ones traditionally used by cryptocurrencies.

You still have blocks (commits) pointing to other blocks (commits). Some blocks just points to multiple other blocks (think the uncle system in ethereum, which is just exactly that; temporary forks that are still included into the chain)

<comment><USER22> There is two definitions in play here for the word blockchain.

In the version you mean, how does the blockchain (git, or any other blockchain by your definition) respond when two valid blocks are canidates to be added to the end of the chain?

Is only one block the winner? How is this property maintained as the blockchain grows?

These are the questions and issues the blockchain others in this thread mean can deal with, while, for example, these questions don't exactly make sense for, for example, git.

<comment><USER23> Yes, only one block is the winner. It is whatever the maintainer of the git repository chooses as HEAD. This property is maintained by any number of out- of-band mechanisms such as Github pull requests and company-wide mandates never to "git push --force".

Seriously though, it just seems like a question of semantics. Is a blockchain just a specific sort of Merkle tree -- thus making Bitcoin a blockchain plus a distributed consensus protocol? Or does calling something a blockchain necessarily imply some consensus protocol already.

<comment><USER22> Just semantics.

You can search right now and find programming 'blockchain tutorials', targeting the cryptocurrency community, that go on to describe only linked blocks chained together via some embedded hash of a subset of the previous blocks (meta)data. This is what others in various comments are calling a cryptograpically secured blockchain.

Other tutorials will set up a mempool (pending transactions) or get peers communicating. I've never seen peer discovery or any discussion on chain value (ie height vs accumulated difficulty) for chain selection.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER24> I think there's lots of solid advice in this article, but this last bullet point is an eye-roller:

> Lack of government regulations for blockchain could impede growth.

i.e. "We're from the government, and we're here to help make your blockchain more efficient and grow faster!"

<comment><USER25> Only in your narrow minded libertarian brain does that sound absurd.

Government regulation exists precisly for the purpose of making inter-personal relations more efficient.

<comment><USER26> Personal attacks break the site guidelines. So does using HN for ideological battle. The combo of the two is particularly ban-worthy. Please read [https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html) and please don't post like this again, regardless of which ideology you favor or how wrong the other one is.

<comment><USER24> Heh, I spend enough time on Reddit that this guy's reply just sounds like a normal mode of discussion these days...

</comment></comment></comment></comment><comment><USER27> In case people want some more insights look at my question I posted earlier:

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

There is a huge difference between the cryptocurrency blockchain and the enterprise-y blockchain. They are not the same thing which kinda confuses the whole message.

<comment><USER28> It's worth noting that it is likely many private blockchains will still use and interact with public blockchains, such as to embed the hashes of private blockchain blocks, to ensure integrity of a chain with undoubtably fewer, and therefor more compromisable, nodes.

</comment></comment><comment><USER29> So, umm, what is blockchain _really_ useful for? The basic thing blockchain helps with is: it provides a way to verify the order in which entries are made to a ledger.

Genuine question: What applications/problems it is useful for? Have you seen a good application yet (other than currencies)?

Would love to learn about the positives, from this community.

<comment><USER11> What are semaphores useful for? That's the question you are asking really. Bitcoin is a global, non-trusted semaphore/mutex lock system.

A "smart contract" is basically an ordinary payment contract where execution steps are gated by separate semaphore controlled by sunsets of the participant set.

What can you do with that? It's hard to answer without being so general as to be useless, or without getting too specific such that we lose the big picture.

"Block chain" is about replacing courts and arbitration with a computer network, and replacing contract lawyers with programmers. What makes this possible is the fair, untrusted, equal access semaphore a bitcoin spend provides.

<comment><USER30> literally every time someone asks this really straightforward question the answer is vague tech waffle.

seriously, please: tell me one genuine use case for block chains that conventional database stack can't do?

<comment><USER23> They can guarantee that some data that indicates it was recorded yesterday was in fact recorded yesterday and not changed at any point since yesterday.

There's literally nothing a blockchain can do that a trusted central database couldn't do. So you only need a blockchain if you can't trust a central database. As a result, the answer to the question you've posed is always going to be a political one, not a technical one. ("It lets banks that don't trust each other keep a shared database of transactions." "It lets citizens who don't trust their various governments exchange currency." "It lets shipping companies that don't trust each other digitize their manifests." "It lets scientists prove their papers were published on a certain date.")

<comment><USER30> Cool, yes, one use case: you can stick document hashes in to the block chain to prove document state at some point in time. This no doubt has legal uses, and perhaps scientests too although I think less so.

Re your shipping manifest example - can you expand on this - how does this work?

<comment><USER23> Basically, when I load up your ship, I document all the stuff I am loading on to the ship in a Bill of Lading. You agree that all of that stuff is present and you're now responsible for it. At the other end of the shipping route you present the Bill of Lading and show that all the goods are present and intact.

If this document is digital, then I might get screwed if you lose stuff or stuff gets damaged and you remove it from the Bill of Lading and say you never saw the goods. Or you might get screwed if I add new stuff to the Bill of Lading after you load the goods and claim you didn't deliver it. So one way to solve this is to put the document and both of our signatures in a blockchain, and now we all agree that this is what we saw on that date.

<comment><USER30> cool thanks

</comment></comment></comment></comment></comment></comment></comment><comment><USER31> The core innovation in the original paper by Satoshi Nakamoto is Proof of Work: A system where people secure the scarcity of a decentralized digital quantity by spending compute power in order to be rewarded units of the same digital quantity.

Proof of Work is ultimately a set of well-balanced design decisions employing well-known technology. Maybe that's why people have a hard time seeing the novelty in it: they just see a bag of individual technologies and miss the delicacy of the design.

<comment><USER32> I may be misinformed, but I see proof of work schemes as something that will inevitably lead to a tremendous waste of energy -- the last thing we should do if we still want to inhabit this planet in a few decades. If a centralized authority is needed to reduce this waste, then so be it.

<comment><USER31> It's true. Alternatives like Proof of Stake, Delegated Proof of Stake, Proof of Importance, etc., try to fix the energy waste problem. They follow similar reasoning to Proof of Work, using financial incentives to keep miners honest. They don't require centralized authorities. However it's early days for Proof of Stake, we'll see how it develops.

</comment></comment></comment><comment><USER33> I see only the fundamental design flaw in the decentralization. Copying a infinitely growing dataset to increasing amount of processing nodes is just worst kind of design error I can imagine in any decentralized system.

<comment><USER14> yes, bitcoin is single linked list that's not even sharded. design is very flawed. can't believe these bitcoin followers think it's holy grail of technology. bitcoin can't even handle the current volume well. it requires massive computing power, bandwith, storage at every node.

<comment><USER34> BTC is designed to evolve. If the problems you've described do turn out to be major issues then node software will be updated to address those concerns. While difficult, I'll admit, it is not impossible to add sharding (for example) to the BTC Core network.

<comment><USER35> If BTC is truly subject to evolutionary forces, then there is no logical reason to think it isn't heading down a dead end branch. How can you guarantee adding to a flawed technology won't see that "value" unravel , especially if something fundamentally different come along that solves the problem set without carrying legacy baggage or leaving collateral damage that each "fork" by definition must incur?

</comment></comment></comment></comment><comment><USER36> People need to take a crash course into the community before making accusations like this. Simply looking at the protocols of the largest blockchain shows that no one wants crazy, overbearing government regulation; we don't even know who created it. Also, it's very naive when they associate blockchain with data and monetary values when it could be used to track anything. If I had an iPad in the bathroom, when I use the toilet I can validate it by pressing a button and reward myself with a Number 2 Coin. If I wanted the blockchain to be more secure and trustworthy I could open the window and text the neighbors so they could validate that I am also in the bathroom.

<comment><USER37> > no one wants crazy, overbearing government regulation; we don't even know > who created it.

As an aside, I think it is somewhat likely that Satoshi was a state-sponsored actor or organization.

<comment><USER16> > As an aside, I think it is somewhat likely that Satoshi was a state- > sponsored actor or organization.

To what end?

States have a habit of going after anything that threatens their monopoly on the issuance of currency.

</comment></comment></comment><comment><USER38> Skeptic writer from Newsweek in 1995: "Why the Internet Will Fail" : [https://thenextweb.com/shareables/2010/02/27/newsweek-1995-b...](https://thenextweb.com/shareables/2010/02/27/newsweek-1995-buy- books-newspapers-straight-intenet-uh/)

<comment><USER39> While I don't think it's completely relevant to this particular topic, here's a cleaner link to the original:

[http://www.newsweek.com/clifford-stoll-why-web-wont-be- nirva...](http://www.newsweek.com/clifford-stoll-why-web-wont-be- nirvana-185306)

<comment><USER40> This article actually makes a lot of good points about the issues we're seeing today around "fake news", and the general uncivilized discourse that dominates the internet. He wasn't entirely wrong, but maybe underestimated how pervasive the web would get before we took a step back and saw the warts.

</comment></comment></comment><comment><USER41> "Don't say 'Can we apply blockchain for this application?' or 'We have blockchain, what sort of things can we use it for'. Instead, start from the other end with the problem you're trying to solve and consider the best ways to solve it," said Radia.

Sound advice for all problem solving.

<comment><USER42> Unless of course the problem you are trying to solve is how to raise money really quickly by cashing in on the latest fad.

</comment></comment><comment><USER43> I have no sympathy for anyone who ends up screwed by "investing" in bitcoin or the like. There will always be a significant percentage of our flawed human race out to get something for nothing. So long as it's legal there can be no real progress. Making money out of money - be it bitcoin or any other currency - without contributing anything of real value is the root of all our economic problems.

</comment><comment><USER44> while bitcoin makes all the news and contributes to the gold rush insanity of averages Joes, Ethereum is seating quite, but it can make even bigger news, like the most recent one about a Swiss bank to build the EU regulation platform based on the Etherium smart contract implementation. I am thinking about contributing all my crypto money to ETH.

<comment><USER16> You got me curious so I did a little digging.

While most articles infer they are building these things on top of the public Ethereum blockchain it is more likely they are basing it on top of R3CEV[0].

Either sloppy reporting or part of a grander pump-and-dump scheme, you decide...

[0][https://www.coindesk.com/r3cev-blockchain- test-11-banks/](https://www.coindesk.com/r3cev-blockchain-test-11-banks/)

<comment><USER44> Yeah, recently sloppy reporting contributed to the insane raise of IOTA cryptocurrency but after the clarification it flew down to earth. It totally looked like pump-and-dump! But Etherium is another story, I believe in its future.

<comment><USER16> Meh...

Back when they were still planning things out I dropped some economic theory on them (over gas pricing IIRC) and they were basically like "nah, that would hurt our cabal". I wish I had a link because I'm not even exaggerating. Totally left a bad taste in my mouth.

Then I hear about hard forks and proof of stake and "welcome, my son, welcome to the machine..."

</comment></comment></comment></comment><comment><USER45> Why is APNIC writing about the blockchain? Isn't APNIC's job to regulate IP addresses in the Asia Pacific region?

<comment><USER46> Radia Perlman, inventor of STP, "mother of the internet"[0], had something to say about blockchains, so why not?

[0] [https://www.google.com/search?client=opera&q=mother+of+the+i...](https://www.google.com/search?client=opera&q=mother+of+the+internet)

</comment></comment><comment><USER47> For a general audience this article is not clarifying enough where the hype is and where it isn't.

There is a clear distinction between public/permissionless blockchains (e.g. Bitcoin) and distributed ledgers (misnamed as private blockchains). The article is referring mainly to the later.

Bitcoin is a theoretical and practical computer science innovation even if the Bitcoin price goes down to $ 0. The innovation covers a search for decades for a secure P2P and [central] bankless protocol solving the multiple spending problem. This innovation uses game theory and security, and we expect that there will be new innovations around this concept. Check "Blockchain Research Resources" [1]

Regarding distributed ledgers the signal to noise ratio is very low (lot of hype). To clarify this we must understand that distributed ledgers existed long before the blockchain and are not really connected to Bitcoin and other public blockchains beyond reusing some part of those implementations but without the core innovation. These are examples of previous initiatives:

The Bitcoin paper is from 2008 while Nick Szabo's smart contracts concept is from 1994 [2]

if we go back in time we can find the AMIX project in 1988 [3]

Another concept used in a distributed ledger is the idea of immutability of data recorded there. Ideas of log immutability can be traced back to a 1995 Spanish article titled "VCR y PEO, dos protocolos criptográficos simples" [4] and then reviewed in 1998 in English as "VCR and PEO revised" [5]. Bruce Schneier also published similar works in 1997 with Automatic Event-Stream Notorization Using Digital Signatures and in 1998 as "Cryptographic Support for Secure Logs on Untrusted Machines" [6]. Also look at "Logcrypt: Forward Security and Public Verification for Secure Audit Logs" [7].

[1] [https://docs.google.com/document/d/1J8hehbnZWzcIUMQcxMiGbjz8...](https://docs.google.com/document/d/1J8hehbnZWzcIUMQcxMiGbjz86wDu3zDFF7UtkR0XjGE/)

[2] [https://en.wikipedia.org/wiki/Smart_contract#History](https://en.wikipedia.org/wiki/Smart_contract#History)

[3] [http://erights.org/smart-contracts/index.html](http://erights.org/smart- contracts/index.html) and [http://erights.org/smart- contracts/history/index.html](http://erights.org/smart- contracts/history/index.html)

[4] [https://www.coresecurity.com/system/files/publications/2016/...](https://www.coresecurity.com/system/files/publications/2016/05/2Protocolos.pdf)

[5] [https://www.coresecurity.com/system/files/publications/2016/...](https://www.coresecurity.com/system/files/publications/2016/05/PEO.pdf)

[6] [https://www.schneier.com/academic/paperfiles/paper-secure- lo...](https://www.schneier.com/academic/paperfiles/paper-secure-logs.pdf)

[7] [https://pdfs.semanticscholar.org/441c/447bf74b1b9e403d043fbd...](https://pdfs.semanticscholar.org/441c/447bf74b1b9e403d043fbda2b54c54081c54.pdf)

</comment><comment><USER48> Don't get caught up in "catching up" hype

Don't get caught up in hype hype</comment>


'The Cashless Society is Almost Here' - <AUTHOR> http://cryptogon.com/?p=32553 <comment><AUTHOR> Excellent point about the drug trade. It's not just the dealer on the street corner who profits. HSBC, Wachovia, Citibank and others have all been caught profiting from drug money laundering. (So do, albeit on smaller scales, the corrupt cop and judge.) As cryptogon points out, hard to do all this if all transactions are digital and logged.

<comment><USER2> can we create a currency `anti-bitcoin` until we have a name where no transaction, small or large, is private. Where there is no privacy but also complete ownership. A single dollar cannot exist just on the floor. It always belongs to somebody.

It is not possible to lose money or find money in your old clothes. There is no physical money, in fact. All you have is your identity. All transactions are logged.

Did I just create a bank account?</comment></comment>


Maxim plans analog integration, Gartner is skeptical - rickmerritt-eet http://confidential.eetimes.com/news-updates/4233340/Maxim-s-Integration-Strategy-Draws-Scrutiny Check out what Maxim is thinking and why some say it may not be the best way forward for them. It's $4.99 on EE Times Confidential <comment> rickmerritt-eet What do you think about Maxim's plan and analog integration?</comment>


California City Confiscates Toilets from Homeless Residents - <AUTHOR> https://www.theguardian.com/us-news/2017/sep/08/anaheim-homeless-toilets-confiscated-public-health-crisis <comment><USER2> Wow, like using a portable toilet is some sort of luxury. Have any of these council members ever used one?

</comment><comment><USER3> For those who were wondering, it appears the the word "porta-potty" means portable toilet. Portaloo.

<comment><USER4> Correct. It's basically the "Xerox" or "Kleenex" of portable toilet in North America.</comment></comment>


Étoilé Desktop Environment - <AUTHOR> http://etoileos.com/etoile/ <comment><USER2> I've been looking at this project for a couple of months now, mostly because it's the closest you can come to OS X and the Cocoa framework on your Linux PC.

A few details for those who'd like to know: GNUStep is a reimpementation of the OpenStep API, which was an effort by Apple and Sun to bring the insanely great NextStep API to your regular workstation (I think my facts may be a little wrong here ; feel free to correct me). Etoile is built using GNUStep, with the desktop model based around the OS X dekstop (check out my desktop and compare it to Etoile: <http://img136.imageshack.us/my.php?image=picture1rn3.png>).

The best part about Etoile is not that you get to use a fast, lightweight, (sorta) modern desktop environment for your favorite open source OS, it's the fact that you get a great oject oriented API similar to Apple's Cocoa for writing applications with. I've been looking at Cocoa for the past month or so, and I can assure you it's a great framework to write desktop apps in. Sure, Objective-C can be a little weird at first, but once you get used to it you'll find it's a very well thought out language. And BTW, GNUStep even has replacements for Apple's XCode and Interface Builder. I don't quite remember what the XCode replacement was called, but the IB replacement is called Gorm (which is _not_ a cool name).

Upvoted for awesomeness.

<comment><USER3> So there's no way you could just use Cocoa? Maybe it's not tinkery/Free enough? :)

<comment><USER2> I do use Cocoa on the Mac, but sometimes I go, "What if Apple decides to drop this stuff, like what they did with Carbon?", and I shudder.

<comment><USER4> Then your internalized knowledge is something worth for doing webstuff with SproutCore.

<comment><USER2> That certainly looks interesting. I skimmed through the Hello World tutorial, and it looks like they use many of the same concepts as Cocoa. Will keep this in mind when Apple drops Cocoa ;)

</comment></comment></comment></comment></comment><comment><USER5> This really needs a video of some sort to show the desktop in action. From just reading things and looking at screenshots, it looks like it provides a better platform for developers but is a quantum leap backwards for users. I assume applications have to be specifically developed for the platform, so that cuts out 99% of the applications users are going to want to use (Firefox, Gimp, OOo, etc.).

Still, if it's really a nice platform, I hope it would become popular enough that popular applications could be easily coded to work with it.

<comment><USER6> It runs on top of X11 just like every other Unix GUI, so Firefox, Gimp, OOo, etc will all run just fine.

They'll just look different from the etoile applications.

</comment></comment><comment><USER7> Looks like the average linux desktop - in 2001.

<comment><AUTHOR> I think it's only partially about the desktop and more about the experience. I'm fairly certain they're looking for help, you know, if you'd like to make it look like something in 2009, or maybe something for the future!

<comment><USER7> I don't believe in building the umpteenth desktop environment unless you can add something new to the pool. There are OSX style themes for all major window managers and many of them look way better than what I see in those screenshots.

I could turn your question around: Why did they start their own instead of just supporting, say, XFCE?

<comment><USER8> Because getting rid of X would be a win?

<comment><USER6> It doesn't get rid of X, it sits on top of it just like XFCE, KDE, Gnome, etc.

It's easy to say that getting rid of X would be a win, but replacing it at this point would be much more work than fixing what's wrong with it.

</comment></comment></comment></comment></comment><comment><USER9> Any chance of a version (or even a separate project) aiming at binary compatibility with Mac OS X? I think a Wine-style project for Mac OS X would more a more interesting and popular development than a niche platform.

<comment><USER10> Cocotron -- <http://cocotron.org> \-- is a project that goes a fair way in that direction, although through source compatibility rather than binary compability. It's two things:

      1) An MIT-licensed reimplementation of Cocoa (Foundation + AppKit + some CoreFoundation plain-C APIs)

      2) A cross-compiler GCC toolchain that produces native Win32 binaries and installs into Xcode. (There is also some degree of Linux support.)

The benefit of this combination is that you can basically add a Windows target to an existing Cocoa project in Xcode and have it produce an .exe file... At least if all the methods used by your application happen to be implemented in Cocotron.

There's still quite a bit of the Cocoa API missing, but the amount of work already done is impressive -- and one of the really great things about Cocotron is that it feels so easy to contribute to the base frameworks. The Foundation and AppKit projects are clean of cruft, neatly laid out, and they are built as Xcode projects so there's no toolchain learning curve: if your favorite esoteric NSString method is missing, you can simply open Foundation.xcodeproj and implement it.

For me, Cocotron is cross-platform Objective-C that "just works". YMMV.

</comment></comment><comment><USER11> Compared to GNUstep it looks nice, but that's not saying much. GNUstep is incredibly dated and downright hideous: [http://www.gnu.org/software/gnustep/images/full- screenshot1....](http://www.gnu.org/software/gnustep/images/full- screenshot1.png)

</comment><comment><AUTHOR> There's a conversation with the developers on TWIT's FLOSS podcast: <http://twit.tv/FLOSS>

The thing that's sort most interesting about this is CoreObject, which is modeled off of the ideas of SmallTalk images.

</comment><comment><USER12> This is really quite cool. I think it has potential, and if they can truly unify user experience application-to-application like OS X does, Linux has a chance at more desktop uptake with the non-hacker population.</comment>


Last Day to Apply for Startup School 2016 - <AUTHOR> http://blog.ycombinator.com/last-day-to-apply-for-startup-school-2016 <comment><USER2> I think I read elsewhere that this would be streamed live. I presume no advance application is needed to do that, or am I wrong?

<comment><USER3> Correct! We'll put the streaming link up on [http://www.startupschool.org/](http://www.startupschool.org/) that morning.

<comment><USER4> Hey Kat, when will participants be notified?

<comment><USER3> We'll send out invites on August 26.

</comment></comment></comment></comment><comment><USER5> Did anyone find this conference useful? Like I said in [1] yesterday, I am always interested in creating a startup myself but at this stage I haven't decided on exactly which idea to pursue. What's the selection process? How's my answer on the application going to be used?

But if streaming is available, is it worth the money to travel? Also, any plan for Startup School @NY?

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

<comment><USER6> _> Did anyone find this conference useful?_

I attended the first one, I believe in 2013 or so? I don't regret that I attended, but it wasn't life changing either.

The talks ranged from a little bland and cliché to insightful - but none of them gave me a "man, so glad I'm here - wouldn't have thought of this otherwise" feeling.

The network is whatever you generally feel towards networking. I tend to dislike it, so it wasn't for me, but if you really want to meet tons of people who are into startups and YC, then it's a good place to be.

 _> What's the selection process? How's my answer on the application going to be used?_

The selection process is YC people doing whatever they want to select who'll attend. Who knows what the actual criteria are besides what they publicly say on the website. It could be that names will be picked out of a sorting hat, or that only participants who have an even number of characters in their essay get picked, or who knows what else. I would answer it truthfully without stressing too much about it.

 _> Is it worth the money to travel?_

Probably not, unless you have other things to do in the Bay Area the surrounding days. Otherwise, if you're a startup founder, that money and time are probably better spent either a) implementing your product or b) talking to your users.

 _> I am always interested in creating a startup myself but at this stage I haven't decided on exactly which idea to pursue._

Seems like you might be putting the carriage before the horses here.

<comment><USER7> > the first one, I believe in 2013 or so?

That wouldn't be the first one; from some Google searches, I think the first was in 2005: [http://lanyrd.com/2005/startup- school/](http://lanyrd.com/2005/startup-school/)</comment></comment></comment>


TV directors now expect that you'll Google while you watch - <AUTHOR> http://qz.com/262468/tv-directors-now-expect-that-youll-google-while-you-watch/

<comment><USER2> I'm hopeful that this will raise the content level of shows, and that viewers will learn something new with each episode.

OTOH, the next step might be something like VH1's Pop Up Video, where small bits of barely-relevant information showed up in on-screen bubbles, announced by one of the most annoying sound-effects ever.</comment>


By 2015 IBM will look like Oracle - <AUTHOR> http://www.cringely.com/2012/04/by-2015-IBM-will-look-like-oracle/

<comment><AUTHOR> Note well-informed correction by Still_Here's comment at [http://www.cringely.com/2012/04/by-2015-IBM-will-look- like-o...](http://www.cringely.com/2012/04/by-2015-IBM-will-look-like- oracle/#comment-209014)</comment>


Geometry, Data and Neighbors Predict People's Favorite Movies - <AUTHOR> https://www.quantamagazine.org/how-geometry-data-and-neighbors-predict-your-favorite-movies-20190522/ <comment><USER2> The article holds up Netflix as a shining example of movie recommendation engines but Netflix has only 3000 to 5000 distinct movie titles (depending on your country). You cannot get interesting or surprising movie recommendations from such a small search space. Imagine the extreme case where Netflix had 1 single movie, say "Twilight". They'd always recommend "Twilight" even if Donald Knuth wrote their recommendation engine.

You need something like IMDb's catalog of 500,000 movie titles to do something interesting.

<comment><USER3> MovieLens [0], by far, my favorite movie recommendation engine, says that the dataset it was based on [1] contained "2,811,983 ratings entered by 72,916 [users] for 1628 different movies". By comparison, its current biggest published dataset [2] contains "20 million ratings and 465,000 tag applications applied to 27,000 movies by 138,000 users. Includes tag genome data with 12 million relevance scores across 1,100 tags".

On a side note, if you like discovering movies, I can't recommend MovieLens enough. Its accuracy and ability to recommend obscure movies still blows me away. On top of all that it's free, as in no subscriptions or ads, and it's developed and maintained by "GroupLens, a research lab in the Department of Computer Science and Engineering at the University of Minnesota".

[0] [https://movielens.org/](https://movielens.org/) [1] [https://grouplens.org/datasets/eachmovie/](https://grouplens.org/datasets/eachmovie/) [2] [https://grouplens.org/datasets/movielens/](https://grouplens.org/datasets/movielens/)

</comment></comment><comment><USER4> How are the data points assigned to their locations in the geometric space? I didn't notice any mention of that. What makes something "more like" a thriller and "less like" a comedy, for example? We can all tell the intuitive difference, but what markers serve best to precisely assign a mathematical distance?

I know very little about this problem space, so these are actual questions, not at all rhetorical.</comment>


What languages to focus your time learning?  - <AUTHOR>

I'm in the job market right now looking at Web developer openings. In my area it seems that each opening has a different set of technologies they use.  (I'm in the Oceanside, CA area.) How do you know what languages to focus your time learning?  Right now I know HTML5, JavaScript, Java, PHP, and Python.  Learning AngularJS and NodeJS. Just finished a contract job as a Web Developer at Life Technologies that lasted two years.  What languages do you know and use at your job that are in demand? <comment><USER2> Well you've covered most of the standards for Web. Nobody's going to ask you to write a web app in C. I'd say learn your databases, CSS and then maybe pick up Ruby and C# (in that order). Employers are typically looking for accomplishments, i.e. projects you've created or worked on rather than just a list of languages. If the job calls for a language you don't know, buy that language's reference manual, learn it, and then say you know it. Once you've picked up one language, other ones are usually just a matter of syntax.

The Systems Programming side of things is different, of course. I'm a mechanical engineer by training so as a consequence I know some embedded languages like Assembly for certain chips, Tcl, as well as C/C++ and a little bit of Fortran. If you stay on the web side it's unlikely you'll encounter these very often. My Javascript kung-fu is weak because I pretty much never do web stuff.

It's all about having a relevant portfolio of demonstrable skills.

<comment><AUTHOR> I know CSS and SQL also.

<comment><USER2> Mkay, well I'd suggest Ruby and C#.

If you already know Java, C# should be a snap as they're very similar.

</comment></comment></comment><comment><USER3> I'm going to buck the trend and say that you've got an impressive list of popular tech that will get you a web developer job. Adding Ruby might give you a few more options, but nothing discernibly different than what's already available to you.

If you really want to do something different, start learning Clojure, ClojureScript, and React.

</comment><comment><USER4> Is your goal to learn languages that are in demand? Or is it to become a good programmer -- even if the languages that can make you a good programmer aren't in demand?

Don't look back years later to the answers in this question only to realize you had set a goal you wish you hadn't.

<comment><AUTHOR> My goal is to be a better programmer. I started learning web development so that I could make websites of my own that earn my money.

<comment><USER5> That doesn't actually clarify much. Is your goal to make money, or to be a better programmer? (I realize, better programmers in the end make more money. But which one's the real goal?)

<comment><AUTHOR> It would be to make money. I enjoy programming. I have spent most of my time (+4 years) learning all I can about it. I also have a background in New Media Compositing, Authoring and Distribution.</comment></comment></comment></comment>


A most excellent pure HTML5 platform game - <AUTHOR> http://www.scirra.com/arcade/games/addicting-action-games/495/magi

<comment><USER2> I would consider myself a pretty avid gamer but I really lost interest after the first level.

I congratulate the developers for the creation and technologies used but the game itself wasn't that exciting. In fact, it seems almost all the game elements and resources are taken from Mario and Sonic.</comment>


Tasmanian Devils Developing Resistance to Transmissible Cancer - <AUTHOR> http://www.the-scientist.com/?articles.view/articleNo/46907/title/Tasmanian-Devils-Developing-Resistance-to-Transmissible-Cancer/ <comment><USER4> This is great news, these little creatures are adorable, until you watch them feeding, then it sounds like you've entered hell's anteroom.

I live in Tasmania, there's a Tasmanian Devil sanctuary about an hour drive from my house. Something that struck when when listing the the fellow there give his talk was that "300,000 animals die every year on Tasmanian roads" and I thought _and they just keep coming!_ there must be a lot of animals on this little island. So I looked up some numbers and was surprised to discover there are about 25 million kangaroos in Australia, more kangaroos than there are people! I've seen kangaroos taller than I am (and I'm 6 foot) with rippling biceps bigger than mine - it's quite a sight, but never seen a Tasmanian Devil in the wild.

Back to the Devils. They only live about 5 years in the wild, and if you go to the Devil sanctuary enough you'll see they move a bunch of Devils in to a seperate enclosure they call the 'Geriatric Ward' as they live a bit longer in captivity and show visible signs of ageing (mostly hair loss and greying).

I always tell people we should domesticate them, I think they'd make hilarious pets, they've got quite a character, and it'd quickly move them away from being endangered.

</comment><comment><USER5> While it is a feel good story - that's also a remarkable reminder of how little do we know. Sure, we most likely have few full instances of Tasmanian Devil's DNA (accounting for reading errors that is). This just tells me how far off we are from actual understanding how this machinery adjusted to the external threat.

Drawing a parallel with software stack -> we invented it and there are very few of us (sure as hell not me) that would understand a full stack of the browser and its environment I am currently using. Now faced with a large trove of DNA data - we know it works. Stationary we could show how a particular part affects a particular protein production. The full on rolling in-vivo interactions are way beyond the reach - reverse engineering them proves quite a challenge.

Would life be akin to running a code that keeps data and states in the code itself, continuing running itself though the changed code?

-

Anybody here is cracking an interesting biotechnological problem with a fancy software stack - one that could be shared for a good story?

<comment><USER6> The DNA didn't adjust, the population changed.

The population changed because the individuals least susceptible to the cancer reproduced more.

<comment><USER5> Yeap, in case of Tasmanian Devils you are right.

I made a a large swooping statement and had this in mind -> [http://www.nature.com/neuro/journal/v17/n1/full/nn.3594.html](http://www.nature.com/neuro/journal/v17/n1/full/nn.3594.html)

When I read it the first time if blew my mind. In principle - <USER2> memories developed in presence of a particular scent triggered responses in subsequent generations - without the generations entering into social contact (a case of a female mouse to its offspring). Don't know how well established is statistics in this study though and how well replicated was the study. It suggests a storage of the information beyond central nervous system - <USER3> mammalian sperm.

</comment></comment></comment><comment> guard-of-terra Maybe they co-evolve, with cancer becoming less deadly as it means that it can spread faster by using its host indefinitely.

</comment><comment><USER7> There's a fantastic Radiolab episode about tumors that talks about the discovery of this cancer:

[http://www.radiolab.org/story/update-famous- tumors/](http://www.radiolab.org/story/update-famous-tumors/)

</comment><comment><USER8> Nice news. Do we find something helpful from their resistance?

</comment><comment><USER9> So... The "rapid evolutionary response" was just for all the vulnerable ones to die off? That doesn't really seem like a response.

Edit: I don't see anything "rapid" happening either, except maybe the remaining members of the species procreating fast enough to not go extinct.

<comment><USER10> That's how evolution works, isn't it?

<comment><USER11> No, that is how Natural Selection works, not Evolution. This is a demonstration of natural selection, as the resistance was already resident in the DNA. Natural Selection != Evolution.

<comment><USER12> Natural selection is a crucial component of evolution.

> _This is a demonstration of natural selection, as the resistance was already > resident in the DNA._

It doesn't matter which came first, the external pressure or the genetic trait. In both cases it's evolution.</comment></comment></comment></comment>


On Rotating The Dishes - <AUTHOR> http://greg.org/archive/2010/01/08/on_rotating_the_dishes.html <comment><USER2> The guy who wrote this must have forgotten what it's like to be single...

As a "convicted bachelor," I can tell you that I don't just use one dish at the top of the stack. I go through the stack over the course of a week, and put a week's worth (or more) of dishes in the wash bin or dishwasher (depending on current apartment amenities) all at once. In other words, I treat the existence of a stack of dishes in the cupboard as an excuse to put off doing dishes in the first place...

Or to put it back on HN terms, I don't perform garbage collection until memory's full...

<comment><USER3> > I don't just use one dish at the top of the stack

I'm a bachelor as well; you should re-consider how big your stack is in the first place. Why do you have more than 2 of anything?

<comment><USER4> Hope springs eternal.

</comment></comment></comment><comment><USER5> My plan is as follows:

1\. Get two dishwashers

2\. Put all the "clean" dishes in one dishwasher

3\. As the dishes are used, put them in the other dishwasher

4\. Once they're all dirty, run the dishwasher

5\. Repeat from step 3.

This system has the following advantages:

* Even rotation of dishes (and dishwashers!)

* Cupboards available for other storage--all dishes in a dishwasher

* No time spent putting away and getting out dishes

Surprisingly, my girlfriend approves.

I am currently practicing this algorithm with dirty+clean hampers for my clothes (I travel a lot). I've saved myself the aggregate time of moving my clothes from closets to boxes and back once a month.

<comment><USER6> There's a dishwasher from Fisher/Paykel that has two dishwasher drawers in a normal-sized dishwasher container.

[http://www.fisherpaykel.com/product/dishwashing/dishwashing/...](http://www.fisherpaykel.com/product/dishwashing/dishwashing/index.cfm?productuid=8ADF6D84-ECDA-64A2-D9252486AAD0A762)

I've heard they leak a bit, though.

</comment></comment><comment><USER7> My algorithm:

1\. 4-6 dishes are kept on the shelf (household size: 2)

2\. When we eat, I pull the top 2 dishes from the shelf

3\. Dishes get washed and put in drying rack

4\. Next time we eat, we pull from the shelf.

5\. In order to wash the dishes, we have to remove the dishes from the rack (our drying rack is pretty small). Sometimes we can fit two or three cycles on the rack, it doesn't make that much difference. When pulling the dishes off the drying rack back to the shelf, a random picking order is used.

6\. Sometimes the dishes get left in the sink for a few cycles until they get washed

7\. We have parties once every few months where all the plates come out, and go to the rack, then get randomly picked and split to the shelf and cabinet.

After a few cycles the wear should be evenly distributed.

\---

* shelf => L1 cache

* table => cpu

* sink => L2 cache

* rack => write buffer

* cabinet => non-volatile storage

(or something like that.)

</comment><comment><USER8> I employ my drying rack as a cache of frequently-used dishes and utensils. Items are usually retrieved using a LIFO scheme (easier to get items near top). Only occassionally is there a cache-miss requiring a cabinet lookup and retrieval. Every once in a while I have to empty the cache completely for guests but the cache is refilled after the exception condition.

At the bottom of the article, there is a link to a well-written essay by Roger Ebert on losing his ability to eat and drink.

<http://blogs.suntimes.com/ebert/2010/01/nil_by_mouth.html>

</comment><comment><USER9> I have the more generic version of this neuroticism. I see things in real life that use one data structure, and should be using another. This is clearly an example of using a stack, when he should be using a queue!

<comment><USER10> A queue is more expensive because you either need more shelf resources or you need to do more work.

</comment></comment><comment><USER11> My parents have this solved. They always put the dishes back on the bottom of the stack. It takes a bit of juggling but it ensures completely even wear.

But then, I grew up in a large household and it wasn't uncommon to go through nearly the whole stack in a day.

</comment><comment><USER12> You could circumvent this problem entirely by not owning too many dishes in the first place. Some problems don't _need_ to be solved.

</comment><comment><USER13> If you randomly shuffle them every few months, that should do it. Each dish will get roughly equal time as the "frequent use" dish.</comment>


Improving Firefox Startup Time with the About:Home Startup Cache - <AUTHOR> https://mikeconley.ca/blog/2020/07/13/improving-firefox-startup-time-with-the-abouthome-startup-cache/ <comment><USER2> Seems to already be available in FF 78.

Search for: browser.startup.homepage.abouthome_cache.enabled and turn it on to test.</comment>


Redux-zero: A lightweight state container based on Redux - <AUTHOR> https://github.com/concretesolutions/redux-zero <comment><USER3> I'm just gonna say I don't think this is a good idea for any real project. In my mind the single best thing about Redux is the use of event sourcing for all application state changes. Get rid of that, and you lose most of the benefits of Redux.

Reducers are a good thing: they force you to think about state transitions in your app in a functional way. By getting rid of event sourcing and reducers, this library encourages you to couple your views and state very tightly. I'd imagine testing components will be very ugly.

Redux itself is the redux-zero: it's all of a few hundred lines of code. We don't need a lighter-weight version of it that misses the principle design decisions.

<comment><USER4> I think you are missing out on the point that Redux can be very difficult to learn and build a real app around for many people.

> it's all of a few hundred lines of code

I hear this a lot, but it reminds me of folks praising Lisp for its simplicity - it may be 'simple' but many people have a hard time understanding it.

Maybe it's not for every app, but goes into this here: [https://medium.com/@matheusml/great-question-bryan- waddingto...](https://medium.com/@matheusml/great-question-bryan- waddington-c171027743e2)

<comment><USER5> It's very important that people understand _how_ and _why_ the flux pattern is valuable before they start using Redux, especially if coming from an MVC background. Once you understand that, the learning curve drops away revealing an extremely minimal and easy-to-use library.

<comment><USER6> > extremely minimal and easy-to-use library.

'Extremely minimal' is hyperbole and 'easy-to-use' is subjective. I disagree with this as an absolute statement. I think there's a trade off, and it potentially harms onboarding for some teams, see my sibling-ish comment.

<comment><USER5> I agree with your comment, but disagree that all of the concepts you listed need be understood completely when just getting started. Once the flow is recognized (which in my experience teaching others rarely takes more than a single pairing session) there's basically nothing left but a few functions that pass data in a circle. Everything else that you described comes later, and that later doesn't take long.

</comment></comment></comment></comment></comment><comment><USER7> So, the api is identical to vanilla React component this.state/this.setState, but extracted to a hard-coded global somewhere, and injected back into your component via context?

> With Redux Zero your component can focus 100% on the UI

Radical.

If Redux is too much, just use stateful components. At least that way you can avoid global mutable state ;)

</comment><comment><USER8> I'm not going to say Redux-zero isn't useful, but if you're just calling some functions that update the state, how is it even related to Redux?

Redux is all about reducers. "Redux" with "no reducers" is an oxymoron, like "pottery without clay" or "cow herding without cows". Redux is a few tools and an ecosystem to support you in handling your state with nested reducers. The value is the predictability you get from using reducers.

<comment><USER9> I'm going to add that even the name "redux" comes from the word "reducer"..

<comment><USER10> And there are zero of them in redux-zero... zero reducers... ;)

<comment><USER11> Still, pretty odd. It'd be like calling Go "Haskell-zero"

</comment></comment></comment></comment><comment><USER12> I imagine building this was a useful learning experience (and your intro blog post alludes to that), but keep in mind that Redux is much more a way of thinking about state transitions than it is a library for providing them.

The Elm architecture was the original inspiration for Redux, and I recommend running through the rest of the Elm examples [1] to decide if your removals from Redux are worth pursuing. Notably, how will you handle composing your action-reducers? Can you build the "dynamic list of counters" example without compromising the simplicity you're looking for?

[1] [https://github.com/evancz/elm-architecture- tutorial/blob/f8a...](https://github.com/evancz/elm-architecture- tutorial/blob/f8a944bf0e89062f4f3a60716b7e06d37593627f/README.md)

<comment><USER11> I'd just like to comment that TEA (the elm architecture) has changed a bit now, and been baked into the langauge. They've made it very tedious to abstract any state away from global, and so those examples have been removed (if you look at TEA NOT from 2015). It's an unfortunate thing in the Elm community that they encourage you to either: A: have an update function that could grow forever depending on the sizeof your app, B - have to write many lines of boilerplate and get 'discouraged' from even doing so by the community because it's not the language's blessed path.

Here is the new TEA doc: [https://guide.elm- lang.org/architecture/](https://guide.elm-lang.org/architecture/)

Note it never mentions components or how to compose update functions.

</comment></comment><comment><USER13> I've seen _many_ "Redux, but without $X" libs pop up over the last two years. Their existence isn't a bad thing - after all, Redux itself started as "Flux, but with functions instead of stores".

That said, I do think most of these "Redux-lite" libs are missing the point of why Redux was designed the way it was. Plain action objects and reducer functions are a _very_ important aspect of Redux's design and reason for existence. Without those, there's no straightforward way to track the state updates, implement time-travel debugging, or use the hundreds of middleware that implement centralized behavior.

It's not like Redux itself is an overly large library in terms of LOC, either. If you strip out the comments and error checks, Redux's core fits in under 100 LOC [0], and I've seen miniature versions of React-Redux that aren't much bigger.

Earlier this year, I wrote a pair of blog posts that dig into the history and intent behind Redux, why it's designed the way it is, and the reason why common Redux usage patterns exist: "The Tao of Redux, Part 1: Implementation and Intent" [1] and "The Tao of Redux, Part 2: Practice and Philosophy" [2]. Dan Abramov's post on "You Might Not Need Redux" [3] is also an important read to understand the tradeoffs involved in using Redux, the limitations it asks you to follow, and the benefits you can get in return.

So, while it's great that people continue to experiment with new ideas and build things that are inspired by Redux, I do feel like most of the spinoffs are throwing away the things that make Redux special in the first place.

(Source: I'm a Redux maintainer.)

[0] [https://gist.github.com/gaearon/ffd88b0e4f00b22c3159](https://gist.github.com/gaearon/ffd88b0e4f00b22c3159)

[1] [http://blog.isquaredsoftware.com/2017/05/idiomatic-redux- tao...](http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao-of-redux- part-1/)

[2] [http://blog.isquaredsoftware.com/2017/05/idiomatic-redux- tao...](http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao-of-redux- part-2/)

[3] [https://medium.com/@dan_abramov/you-might-not-need-redux- be4...](https://medium.com/@dan_abramov/you-might-not-need-redux-be46360cf367)

<comment><USER14> I think a lot of it has to do with people missing the point of Redux, but feeling peer pressured into using it "because its what the cool kids do".

I've seen people use Redux and then make a single action, "SET_STATE_AT_KEY" or something, with a signature in the form: { type: SET_STATE_AT_KEY, payload: { key: 'someKey', value: 'someValue' } just so they can use 1 single action and 1 single reducer everywhere (ok, they usually have a second one to push into an array).

People who don't believe Redux is the right solution for them just need to look at the 6 millions totally-not-redux solutions (MobX, Relay, whatever) instead of using "Redux-but-not-quite". They'll be much happier.

<comment><USER13> Yeah. I love Redux and will happily promote it, but it's not for everyone, and there's definitely people out there who insist you _have_ to use it. My own advice for getting started with React is to focus on React first, then learn Redux later.

The "single generic reducer" approach is technically valid, and I've seen several articles where people do that. I discourage that approach because it doesn't tell you anything meaningful about the _intent_ behind the update, and it's much harder to trace where that action was dispatched, but it's a legal way to use Redux. My two "Tao of Redux" posts discussed the intent behind state changes being semantically meaningful, and both my own thoughts and Dan Abramov's comments on the "all-in-one reducer" approach [0] [1].

(Also, I should look at who I'm replying to before I write answers. Hi, Shados!)

[0] [http://blog.isquaredsoftware.com/2017/05/idiomatic-redux- tao...](http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao-of-redux- part-1/#action-history-should-have-semantic-meaning)

[1] [http://blog.isquaredsoftware.com/2017/05/idiomatic-redux- tao...](http://blog.isquaredsoftware.com/2017/05/idiomatic-redux-tao-of-redux- part-2/#cursors-and-all-in-one-reducers)

</comment></comment></comment><comment><USER15> Exporting global store and being able to import it anywhere in an application seems like a bad idea. The nice part about redux is that the store is dynamically injected into react components.

Now the action creators and react components that use action creators are not pure functions the predictability and testability of the application is lost.

It seems appropriate that the README does not contain a "how to test" section, which is a huge selling point to Redux. "Predictable" is also missing.

For sake the of "lite"ness we have lost two huge selling points to use redux.

</comment><comment><USER16> I love HN because just reading the introductory blog, I sensed design smells and was trying to articulate to myself why I didn't like Redux-Zero. The comments that preceded this one beautifully articulated this. Thanks!

<comment><USER16> Having said that, I wish I had enough Zen to articulate this on my own. Sigh.

<comment><USER3> It sounds like you have the right sensibility, so you're well on your way! Taste is the hardest thing to develop, clearly articulating the rationale behind it just takes practice.

</comment></comment></comment><comment><USER17> This has nothing to do with Redux, so why call it Redux-zero? If you don't need testability, time traveling, and other Redux core features, then don't use Redux. Just create your own state management system.

</comment><comment><USER18> What sets this apart from the existing state management systems like redux, mobx, or just plain `setState`? It looks like it gets rid of the redux boilerplate, but mobx already does a fantastic job of making a state container and actions, so I'm not really sure where this stands.

In other words, what's redux-zero's "killer feature" that'll make me switch?

</comment><comment><USER19> Model - Redux-zero Store

View - <USER2>

Controller - Redux-zero Actions

Having free access to state (read and write) within actions is a large difference from Redux.

</comment><comment><USER20> Why do you need a provider?

<comment><USER21> Without the Provider there would be no way for the `connect` decorator to give access to the current state. Given the design of this library though (global store) it seems like it would be fine to just pass the store along in the call to `connect`.

Note that the global store is a huge problem for this library. How would you use this when writing a component that wants to use redux-zero in a _library_ , not directly in an application?</comment></comment>


Eclipse Ceylon - <AUTHOR> https://projects.eclipse.org/proposals/eclipse-ceylon <comment><USER2> The eclipse plugin for ceylon started development a long ago and features like code navigation, autocomplete were on par or even slightly better than what you expect from Eclipse for Java. Overall the tooling for ceylon actually feels very mature which is kind of surprising for a programming language with a small userbase.

The language itself is a spiritual successor to java kind of like kotlin but they decided not to depend on java specific classes like ArrayList which means you have to convert between those with a function to get a proper ceylon list datatype which has filter, map, fold, etc. Instead they developed their own ceylon sdk. This has some advantages if you have a non Java implementation but requires you to ship around more code which is undesirable for web and mobile app development. Kotlin has a big advantage in Java only environments like android.

Strangely enough I never got "stuck" in this language. I never felt the need to go to stackoverflow or any other external site because there was a problem that I couldn't solve because of my unfamilarity with the language. All I did was read the guide a few times and occasionally look at the reference. The language felt very intuitive to me.

The compiler is a bit too slow in my opinion because I'm not trading my time off to get better performance like C++ compilers do.

I think the language is stuck in a limbo between good language design and suboptimal implementation.

<comment><USER3> I just posted a link comparing Kotlin and Ceylon in more detail. Don't know the state of Celyon as of now, 1 1/2 years later..

</comment></comment><comment><USER4> So linking to this page doesn't really give you a feel for the language. [http://try.ceylon-lang.org/#](http://try.ceylon-lang.org/#) gives you examples and a sandbox to play with the language.

<comment><USER5> The originally linked page does have a very good explanation of the language though.

It just needs far more code examples.

</comment></comment><comment><USER6> I don't want to be mean, but wasn't this initially developed by Red Hat and wasn't it basically abandoned by Red Hat recently? I remember reading something about it.

The language seems interesting but a niche language without a backer or major hype doesn't seem like a solid long term bet.

<comment><AUTHOR> Yes, the title originally was _Eclipse foundation accepts RH 's donation of Ceylon_, and folks have expressed elsewhere the opinion that donating code to Eclipse could be seen as a ritual software burial.

<comment><USER7> Oh, that's interesting to know - I've been following Ceylon for a while, trying to figure out whether it was getting any adoption. My theory is that people don't seem that interested because it's another JVM language, and there are already a number of them, filling different niches - Scala for "more powerful type system", Clojure is the lisp, etc...

<comment><USER8> I won't speak for others, but I discarded the idea of ever using Ceylon when I learned that Gavin King was involved with it. I won't go into why--a simple Google search will easily allow people to make up their own minds--but suffice it to say that I don't find him professional enough to rely on a project that he leads. For something like a language, where you have to invest a significant amount of your own time and energy into using it, the people behind the language and the community around it are hugely important considerations.

<comment><USER9> This kind of throwaway comment never works.

Whatever is so bad about him, I don't see it on a google search. Not being snarky, I just literally don't see it. Every link for a few pages looks neutral.

Guessing here: do you just really really really (really really really...) hate hibernate?

<comment><USER8> I actually mostly like Hibernate, except for the very few times where I hate it with the burning fire of a thousand suns. But that's to be expected when a tool tries to go too far towards the magic end of the spectrum. But why I don't think he's professional is all the discussion/listserv threads that I've read where he's abrasive and disrespectful to any perspective that's different from his.

</comment></comment></comment></comment></comment></comment><comment><USER10> Code examples are missing on the linked page. Having a website about a new car without any pictures would be strange, same applies to less known programming languages.

<comment><USER11> The linked page is a proposal for the Eclipse "foundation" or whatever it's called to "take over" Ceylon. It's not a page _about Ceylon_ itself.

The web site of Ceylon is at [https://ceylon-lang.org/](https://ceylon- lang.org/)

</comment></comment><comment><USER12> As a huge fan of Scala, Ceylon is one of the other languages I'm keeping an eye on and hope succeeds. It is much more ambitious and forward thinking than Kotlin, and subsequently see it having a much longer future than Kotlin.

<comment><USER13> I would love for this to be the case, but it seems to have a tiny fraction of the mindshare of Kotlin.

</comment></comment><comment><USER14> It's a weird time of year, when you don't know if the title is talking about a new project from Eclipse or something about the event tomorrow!

<comment><USER15> Yeah, I thought the eclipse was happening over the continental US. What's up with Sri Lanka?

</comment></comment><comment><USER3> I had to lookup what Ceylon actually is. On github I found the link [https://ceylon-lang.org/](https://ceylon-lang.org/). You will find some screenshots showing IDE support as well.

<comment><USER16> I read about it when it came out, alongside with Kotlin.

I bet on Ceylon, but somehow people preferred Kotlin.

<comment><USER17> I can tell you my main reason for going with Kotlin after looking into Ceylon[1]:

      14. Apr 2011, 01:44 CET  Gavin King | gavin.king(AT)gmail.com

      > 1. 'variable' keyword is to long use var instead

      We've so far avoided abbreviations. In practice the IDE will
      type this annotation name for me.

I don't want a language designed to require an IDE – if the language is so cumbersome that you need a tool to write it for you, then you might as well just use Java. With Kotlin, I can write in Emacs if I feel like it, since being concise is one of their explicit design goals.

(Ironic, I guess, that the language developed by an IDE vendor is the better one to use without an IDE.)

Edit: To elaborate, the Ceylon docs say[2] that "one of the goals of the language is for most code to be immediately readable to people who aren't Ceylon programmers, and who haven't studied the syntax of the language."

I think this is a very misguided goal. No programmer is going to be confused about what "var" means, so making everyone type "variable" gains you nothing. And at the same time, that very same introduction page has _plenty_ of syntax that you won't understand without studying it first, so it still wouldn't achieve their aim, even if those concessions to verbosity had somehow helped.

[1] [http://in.relation.to/2011/04/13/ceylon/](http://in.relation.to/2011/04/13/ceylon/)

[2] [https://www.ceylon- lang.org/documentation/current/introducti...](https://www.ceylon- lang.org/documentation/current/introduction/)

<comment><USER18> > No programmer is going to be confused about what "var" means, so making > everyone type "variable" gains you nothing

"variable" is easily distinguished from "value" in Ceylon, whereas "var" and "val" are easily confused in Kotlin, being only different by a single letter "r" and "l" \-- which even sound the same in some East Asian languages.

<comment><USER17> True, and "let" would have been better. Scala uses var and val though, so I suppose they chose it for familiarity.

When it comes to Ceylon, they weren't going for easily distinguished, they were going for unabbreviated (see earlier link) - the rest of the language follows the same pattern.

Anyway, I'd rather take this minor risk of confusion than a language I can barely write without auto-completion. It hasn't been a big problem for me in practice. And if you do use an IDE, it will use syntax highlighting to distinguish var and val.

<comment><USER19> Ceylon was designed with functional programming in mind. The idea is that _variable_ is something you will rarely type because mutability is something to avoid; with this mindset, the pain of typing it could be considered a feature.

 _value_ is used for type inference and isn't much different from typing _val_. It's also optional; you might just declare an actual type instead, ala Java. I personally think this tends to read better, but that's probably because I spend most of my time in Java.

<comment><USER20> > The idea is that variable is something you will rarely type

This, precisely. I feel Ceylon uses more sensible defaults all around, like also having non-public methods/properties by default unless explicitly declared public. I use Kotlin in some projects, but don't really like its default of public properties and methods unless explicitly declared private, nor their decision on final classes by default.

It's also so many other little things in Ceylon that really add up to make it a pleasure to use, like its simplification of numeric types to just the minimal meaningful set of Integer and Float[1] (no Double, Long, etc), its integer literals which use the metric suffix system, like 5k for 5000, 5M for 5 million, and even hex integer literals like #ffffff, etc.[2][3], its comparison operations which return one of the enumerated Comparison type of smaller, equal, or larger (and not -1, 0, 1) ...etc

[1] [https://ceylon- lang.org/documentation/current/tour/language-...](https://ceylon- lang.org/documentation/current/tour/language-module/#numeric_types)

[2] [https://ceylon- lang.org/documentation/current/reference/lite...](https://ceylon- lang.org/documentation/current/reference/literal/integer/#decimal_suffixes)

[3] [https://ceylon- lang.org/documentation/current/tour/language-...](https://ceylon- lang.org/documentation/current/tour/language-module/#numeric_literals)

</comment></comment></comment></comment></comment></comment></comment><comment><USER21> Good news. Moreover, it would be great if Eclipse would take over Eclipse IDEs for Haskell and Rust...

</comment><comment><USER22> I don't know how, in 2017, you write something this long about a new programming language and fail to have a single example or even hello world. Sheesh.</comment>


Ask HN: Someone is taking my work on GitHub. What should I do? - <AUTHOR> So my original work is here: https://github.com/jathu/UIImageColors. The person who copied my work is here https://github.com/robipresotto/imageColors.
As you can see, he copied everything but my name. When I did try to open an issue regarding this, he pretty much changed my original issue comment and closes all the issues (http://i.imgur.com/mGX0Fyb.png). Also, he blocked me from the repo now (http://i.imgur.com/QIpPMjB.png).
Clearly, this person want doesn't care about integrity and giving credit where it's due. I know this is open source and all, but I still believe I deserve credit for the work I put in. What can I do about this?
Also, what did GitHub think when they allowed owners of repos to edit everyone's comment? Did they not think this would be abused? <comment><USER2> In theory, this could be in the realm of a copyright violation:

[https://help.github.com/articles/dmca-takedown- policy/](https://help.github.com/articles/dmca-takedown-policy/)

Although (and I am no expert) when your license is sufficiently broad and _allows_ for behaviors you saw (e.g. "please include the original header" is not the same as "you _must_ include the original header"), GitHub might decide that there is no violation, technically.

Unfortunately there are lots of behaviors in the world that are legal even though they're despicable. Your best bet is to be very clear what you want people to do with your projects, e.g. state copyrights, add licenses that are not too liberal if you want restrictions.

<comment><AUTHOR> Honestly, I wouldn't care if he did steal my work as long as he included the credits. I think I've learned my lesson and will include a license with all my projects from now on.

</comment></comment><comment><USER3> For those who are late to this thread, the license was "Feel free to do whatever you want. Please include the original header in any modifications or redistributions." before the author changed it to a MIT license.

Lesson learned: no license at all is better than "Feel free to do whatever you want."

That said, I wonder if "Feel free to do whatever you want" would hold up if this would be taken to court.

<comment><AUTHOR> Yes, I just added an MIT license to all my work after some people suggested it. I was just too naive to think no one would do this, hence my very loose initial license. Wouldn't the "Please include the original header in any modifications or redistributions" hold up?

<comment><USER4> "Please include the original header" sounds like you're asking for a favor rather than imposing a requirement. It's saying something different than "you can do whatever you want with this as long as you include the original header in any redistributions".

</comment></comment></comment><comment><USER5> I had a similar experience a while back with my software, Mayan EDMS an open source paperless solution. Things I learned: You are better off going first after a copyright violation, then after a license violation. Pick a previously tested license, resist the urge to craft you own, we are not lawyers. As the code owner you also have the community behind you, use that.

<comment><AUTHOR> I've just emailed him again to please include the original headers and give credit or I'm filing a DMCA takedown notice. I'm going to give him 24 hours. Also, I just went ahead and added a real license to all my work.

</comment></comment><comment><USER6> Your license says: "Feel free to do whatever you want."

If you don't actually mean it, then change it.

<comment><AUTHOR> My license also says:

>Please include the original header in any modifications or redistributions.

<comment><USER6> Yes, that is a kind request, not a condition.</comment></comment></comment>


Aurous: Free Music, Whenever, Wherever - <AUTHOR> https://aurous.me/ <comment><USER2> Free music? Before you make such a claim, you might get in touch with the record labels that have exclusive rights to these songs you say are free. Have you signed deals with Universal? WB? Sony?

</comment><comment><USER3> It seems to be a wrapper around youtube</comment>


Researchers Use Brain Interface to Post to Twitter - <AUTHOR> http://newswise.com/articles/view/551395 <comment><USER2> I think they should take that cellphone metaphor one step further. Modern cellphones allow you to type a sequence of numbers and then using a basic dictionary look-up to determine which word you intended to type. Since we're down to nine characters now instead of 26 that's a start. Place the cursor in the middle let the person choose one of four directions, or maybe put it in the lower left, let them choose between up and right and put the most popular letters in the lower left of the grid. Now we're at at most two or four moves to typing a character. Still only recognizing on and off on the EEG. If we, through practice, can train the computer to recognize two different EEG states, now the patients can think "up, up, right" we'd start really cooking. And ultimately if it could recognize ten states, then the brain-locked could probably type a character a second, which would not be bad at all. At that point you're fast enough to chat and no-one would know the difference.

I guess what I'm saying is maybe an open source project doing character classification using an off the shelf EEG system might not be a bad idea.

</comment><comment><USER3> This article really brought home that adding "Twitter" to a project gets headlines.

</comment><comment><USER4> _I've seen people do up to eight characters per minute_

17.5 minutes per tweet. Yikes. Hopefully they can improve that with UI tricks -- prioritize the letters, choose a letter group and then a letter (much faster than choosing a letter if you have to go through options sequentially), predict based on what was previously typed, use a dictionary and allow autoexpansion, etc.

</comment><comment><USER5> Interesting - I wonder what the limiting factor is for speed? It sounds like there is a bit of a technique to typing with the system, but I wonder if there couldn't be a faster way to filter the signal coming off the EEG.</comment>


George Gilder Demolishes a Critical Myth About the Gold Standard - <AUTHOR> http://www.forbes.com/sites/ralphbenko/2015/07/06/high-tech-guru-george-gilder-demolishes-a-critical-myth-about-the-gold-standard/

<comment><AUTHOR> The new work is subtitled "A New Information Theory of Money."[1] But how new is it? I have not read the full work yet, but it seems quite similar to the Austrian school's long held and well developed explanation of prices as information. [2]

[1] [https://docs.google.com/viewer?url=https%3A%2F%2Famericanpri...](https://docs.google.com/viewer?url=https%3A%2F%2Famericanprinciplesproject.org%2Fwp- content%2Fuploads%2FGilder.pdf)

[2] [http://austrianeconomics.wikia.com/wiki/Price](http://austrianeconomics.wikia.com/wiki/Price)

</comment><comment><USER2> Yet, it's easier to predict the future value of any contract in fiat currency governed by central bank than it's to predict it's value in gold standard.</comment>