Safe Network: Secure P2P app system implemented in Rust - <AUTHOR> https://hub.safedev.org/ <comment><USER2> It's the MaidSAFE scam again, full of buzzwords as usual. I remember being in a Bitcoin conference being bombarded by people payed by MaidSAFE to promote their altcoin. They were really aggressive: I told them I'm not interested and they were just pushing without hearing me.

As Bitcoin price rises near the halving, I expect more scams coming online again.

Here's a link to their coin's price chart just to make this comment more interesting:

[https://coinmarketcap.com/currencies/maidsafecoin/](https://coinmarketcap.com/currencies/maidsafecoin/)

<comment><USER3> If people were harassing folk saying we paid them, then that was just false (harassment or not, we don't pay for coin promotions, in fact we don't pay for any promotions).

I wish folk could discuss the project and it's goals. Incentivisation is part, but a really small part of the project. As soon as I see a cryptocurrency comment I just lose faith and have barely any energy to engage. Folk need to forget money/coins and so on and focus first on the function and vision. All you get talking cryptocurrency is "it's a scam", "it's a fraud", "somebody told me X and it was false". Then let's look at some price chart and so on. It is really just a distraction and the arguments have an infinite lifetime. When I see projects on github/lab who mention cryptocurrency way up front I also lose faith. An incentive should not be the vision or function, it's an incentive it should never be a core goal or technology.

<comment><USER4> > we don't pay for coin promotions, in fact we don't pay for any promotions

> Incentivisation is part, but a really small part of the project.

It isn't clear to me how to reconcile these statements. Can you elaborate?

<comment><USER5> Incentivization is a part of the product in that Proof of Resource dictates that Farmers (I.e. those who provide resources to the SAFE Network in the form of bandwidth, hard drive space, CPU, etc.) are rewarded for doing so with Safecoin. In a sense it is similar to how POW compensated bitcoin miners. This form of incentivization is autonomously governed by the Network itself, and has nothing to do with paying for promotions. I'd recommend taking a look at the SAFE Network primer to understand more ([https://primer.safenetwork.org/](https://primer.safenetwork.org/))

<comment><USER4> Good synopsis, thank you!

</comment></comment></comment></comment></comment><comment><USER6> So. Many. Buzzwords.

Can someone do an ELI5 of what this is, what this does, what problems it solves, how a non-developer is affected by it, and what it lets a developer do that they couldn't do before?

I'm sure I'd be interested in this, but at the moment I can't find a safe, secure foothold in the torrent of buzzwords.

Thx.

<comment><USER7> As one of the devs, i'd say:

It solves ownership of data, and removes the need for large data centers by securely, anonymously letting users share storage space.

I'd caveat that we're still in alpha, but things are coming together very nicely.

The Safe Network (will) incentive user storage and uptime through cryptocurrency, though non-blockchain based, so avoiding a lot of throughput pitfalls there. So it can also act as a storage backed currency in some fashion.

It allows users to truly own and manage the permissions of their data without relying on any third party. And it provides enough flexibility for this to let folk make applications as well as store files.

I hope that helps some? I'm trying to avoid buzzwords :) I know that site has any. It's also worth noting that the dev hub is a bit out of date (things are still moving pretty fast.) But the community ([https://safenetforum.org/](https://safenetforum.org/)) is very friendly!

Let me know if I can get more specific, I'll be about for a little longer.

(Oh, also there's some other links in another top level post I made that may be helpful)

<comment><USER6> From what you say it would then appear to be a cryptographically secure distributed storage system.

So I develop an app, and while my app is running I'm providing some storage space. I get rewarded for this via some mechanism I don't understand, but involves some sort of cryptocurrency. I can then store things "out there", and the cryptography means that it's secure. Similarly, parts of other people's data gets stored in my app.

Is that right?

If so, what happens to other people's data when I turn off my machine? What happens to my data when other people turn off their machines, or are otherwise unavailable?

I don't understand what problem this is solving, or how it can work.

<comment><USER7> >Is that right?

Sort of. You don't _have_ to enable storage etc in your app. Being a 'node' can be independent of running an app. And your app can just store things on the network without having to worry about making a user share their space (and do onboarding to the network etc).

> If so, what happens to other people's data when I turn off my machine? What > happens to my data when other people turn off their machines, or are > otherwise unavailable?

If you turn off your storage, you stop earning money. The network ensures there are X (currently 8, I believe) copies of each piece of data available at any one time, so data on the network would be replicated to make up for whatever went missing as you (or anyone) turn off a node.

> I don't understand what problem this is solving

The problem of centralisation and data hoarding. Facebook. Google. Being de- facto forced into giving up your data as a user.

It aims to decentralise this, and (hopefully) will make it easier for users to remain in control of their data, without the need for massive server farms etc. By using spare space on user's devices.

The crypto currency is an incentivisation layer. (you are rewarded for participation in storage / serving data etc).

I'd recommend reading the primer ([https://primer.safenetwork.org/](https://primer.safenetwork.org/)) to get into the details of how this will work.

<comment><USER8> One thing as a long time follower and in the MaidSafe forum would be an active thread where community members can ask technical questions and get technical answers when the team has time to dive in and give feedback. Re-reading this bit I think my question would be: How does SAFE Network, which is decentralized and anonymous for its users, know how many nodes are currently running with its replicated data without a crazy amount of polling and network congestion for every chunk of data. Is the X nodes have this data checked at the time of request and confirmed on all nodes? If so that would be really slow but reliable to ensure if a 1-7 nodes have lost the data that that data gets replicated elsewhere. Also risking that old data that hasn't been fetched in awhile could have already lost their potential 8 node replication. Now get even more chatty where all storage nodes constantly poll each other for their known chucks they posses, that polling at scale sounds like it would become a real chatty bottleneck to have to basically crontab that seeking functionality to ensure availability of data at all times. Would be good to have a thread in the SAFE Network forum where programmers talk with the team and grill on the nitty gritty to see if these aspects have been solved and can be linked to in the source code for study.

<comment><USER3> Each section has Elders, these are 7 oldest (most trusted nodes). The have a DB of which Adults (up to 120 of these per section) hold the data. On any Fetch, the Eder can confirm the relevant Adults passed the data. Also on churn (node leave/join) the relevent data is copied to new locations. So churn in the section helps us maintain the data.

An important role is continualy checking nodes for malice, evan those we trust more as they may be in zombie mode bad guys.

<comment><USER8> Any code that can be linked to that already accomplishes all this or still to be implemented? And to be picky in language I see you say the "Elder can confirm" does this mean the "Elder will confirm", just a change in wording from a possibility to a certainty.

"An important role is continually checking nodes for malice, evan those we trust more as they may be in zombie mode bad guys." -> This is still to be implemented as well correct? And prior to implementation we need some sort of RFC that defines types of malice that can occur from a given node as well as appropriate and secure means to detect the various cases. Ones that come to my mind are forced sluggishness in an attempt to slow down the network, intentional loss of data to cause extra lookups elsewhere for a given chunk, forced intermittent connectivity, so maybe at L4 level it decides to throw connection reset/connection refused in an attempt to bottleneck traffic across the network.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> One of the devs here.

For those interested in reading more, I'd recommend the more up to date [https://safenetwork.tech](https://safenetwork.tech) for a brief overview. And [the Safe Network Primer]([https://primer.safenetwork.org/](https://primer.safenetwork.org/)) for a much more in-depth overview

The forum ([https://safenetforum.org/](https://safenetforum.org/)) is a great community that will happily answer any questions.

There is a test network available of the current iteration. But it's worth noting this is all still alpha level, and not finalised.

You can see more detail on the "baby-fleming" test net here: [https://safenetforum.org/t/baby-fleming-public-shared- sectio...](https://safenetforum.org/t/baby-fleming-public-shared- section/31377) .

And the CLI implementation for any other curious folk: [https://github.com/maidsafe/safe-api/tree/master/safe- cli](https://github.com/maidsafe/safe-api/tree/master/safe-cli)

<comment><USER9> Clickable link: [https://safenetwork.tech](https://safenetwork.tech)

<comment><USER7> Ah thanks!

Sorry, been a lurker on HN for a whiiile. Just made an account to reply. I assume it's just markdown style?

<comment><USER10> You missed a slash is all.

</comment></comment></comment></comment><comment><USER11> I love the goals of this, but I have two hopefully constructive criticisms:

(1) The on-ramp involves downloading and installing a bunch of stuff. Very few people are going to do that. Is there any way I can try it in a browser or via a tiny download? I'm talking just looking around. WASM is a thing, so even a fat slow WASM app that let me test things out would be a good way for me to see what this stuff is really like.

(2) I feel like this and a lot of other similar projects are too monolithic. They feel less like the WWW and more like Project Xanadu. This one is actually not the most complex I've seen, but it's up there. Projects like this either never fully ship or have steep learning curves.

Lastly...

(3) Anything like this is going to need a killer app to drive initial adoption. Unfortunately a lot of the P2P killer apps in the past have been black or grey market related, which has tended to pigeon-hole them as that and harm more widespread adoption later. You should look for something this can do that other things do not currently do well. It doesn't need to be some massive niche like social media. It could be a small niche with a small group of users who would be enthusiastic about it. In fact sometimes that's better for initially bootstrapping something.

<comment><USER12> 1\. This is a fair point right now but it is only temporary. There's a SAFE Network App which will be the key to the network, providing a single point of contact, installing other things, seeing up a vault if you want to farm, create a wallet, updates etc. Most people will just download that and go from there.

2\. Is also a reasonable point to make, but the nature of the goals here means it has to do a lot more than just sit on top of the existing protocols. It's a secure, decentralised, _autonomous_ network/platform, which needs to be built from the ground up in order to solve the many problems we have with the existing web.

I'm not sure what you mean by monolithic. The ideas are new and can take a while to grasp but it's worth it.

3\. The community have had long discussions about this so many will agree with you. But the best response I've heard to this point was from Tim Berners-Lee when he and David Irvine were at the Decentralised Web Summit in 2018. Someone said something similar to your point 3 to David and Tim jumped in and answered that it wasn't necessary by saying: and what was the killer app when I invented the web? Or something along those lines.

I'm not dismissing your point and many of us aren trying to come up with ideas for such killer apps.

Personally I suspect we already have some - take a look at the SAFE fundamentals for example. But it may well be something nobody anticipated. It's fun thinking them up though :-)

<comment><USER11> Here's a thought: podcasting.

Podcasting has the vibe of the early DIY web. It's largely independent and isn't "owned" by an oligopoly unlike social media. Indie podcasters sometimes struggle with distribution if they get popular. Lastly, it has a major vanishing content problem when old orphaned podcasts disappear from podcast hosting services but may still be interesting.

It would also be fairly easy to write a web-to-SAFE bridge server that allowed people to add podcasts hosted on the SAFE network to regular RSS podcast players. People could run this themselves or run open ones on the web, with the latter amounting to a community run CDN.

<comment><USER13> I 'know a guy' who decided to build a music platform for the network and podcasting would be an easy addition. ;)

Although a dedicated and native recording and podcast publish app would be better and that idea has rolled through my head a few times. Have a good idea on the branding and interface already. Excellent suggestion and reaffirming for sure.

</comment></comment></comment></comment><comment><USER14> So the landing page emphasizes a "network" aspect. Which really confused me, since I thought this was some VPN/Wireguard alternative.

The header on "Start Developing" is more informative: "The SAFE Network is a scalable, distributed application platform"

It seems to be something like IPFS or Dat, with app development tooling, monetization, SSO, and a "privacy-first network".

<comment><USER7> It's a tough one to categorize. (I say that as a dev on the project)

It's similar to IPFS in terms of the goal of distributed file storage. But it incentivizes users to store in non-blockchain way, sidestepping a lot of the size and throughput issues there.

Connections are indeed anonymized. But as you can work with and update data in a distributed fashion, there's a lot of scope for applications. (We've previously built a simple twitter clone, using RDF data on an older testnet: [https://github.com/maidsafe/safe-patter-js](https://github.com/maidsafe/safe- patter-js))

Things are still very much in development. Still Alpha stage. But There are things available for users to try!

The Safe Primer (maintained by community members) may be a good place to start:

[https://primer.safenetwork.org/](https://primer.safenetwork.org/)

The dev hub is sadly out of date with current things. The forum is very friendly and open to new folk and answering any questions: [https://safenetforum.org](https://safenetforum.org)

The main network website has more generalised info: [https://safenetwork.tech/](https://safenetwork.tech/)

Hope that's helpful!

</comment></comment><comment><USER15> Found this whitepaper on Safecoin: [https://docs.maidsafe.net/Whitepapers/pdf/Safecoin.pdf](https://docs.maidsafe.net/Whitepapers/pdf/Safecoin.pdf)

</comment><comment><USER16> My hat is off to you sir, we need more projects like these. I'm working on an analogous protocol, called "iota" also implemented in Rust, however, it's not ready for primetime yet.

I have a few questions for the devs if you guys/gals don't mind answering them, and don't feel obliged to answer all of them:

1\. What algorithms do you use to measure information entropy and consistency efficiently?

2\. How does your protocol handle or adapt and recover from network partitions?

3\. How do ensure that a user's data will not be shared or leaked to unauthorized 3rd parties once it leaves the network?

4\. How are applications that use your protocol sandboxed?

5\. Does your protocol use conflict-free replicated data types or does the protocol offer an alternative means of merging and reconciling data?

6\. How does your protocol self-certify requests and authorize them?

7\. Does your protocol employ ML in any facet to work?

8\. Lastly, what provoked you to start on your protocol in the first place? Just out of curiosity.

#8 for me personally: I realized after a decade in the software industry that programming sucks because there is a lack of protocol diversity and no means of reasonably and quickly developing new ones, and the consequence is that our application code ends up very convoluted and hard to reason about and hard to maintain.

<comment><USER3> Hope I can help.

1\. Not 100% sure what you mean here. Our data goes via our self_encyption process. That chunks the data and stores it as immutable where the name == sha3 of content. This is self validatable data to us.

2\. Small partitions are not a huge issue, but partitions that are long- lasting and over 60% or so are. This is not detailed yet, but all data is signed by a section chain. The section chain is the BLS aggregate of the section elders. All sections in the network have such a chain back to the genesis key/block. This allows data to be republished if necessary and really helps with partitions. This is allowed as data is signed by a valid network section key that is held in the section. However, transaction data is very different and we don't have a final conclusion there as theoretically one side would get consensus and the other does not. This seems to be a decent answer, but it can be much better. We are currently looking at some crdt types here, such as nonzero counters and so on, so that could allow transactions to happen on both partitions, but it's not trivial and we need to consider is partition permanent or even long enough that so many members change that quorum is lost. Again not the end of the world, but there is no final conclusion there just yet.

3\. Our fundamental is all data is chunked and encrypted. So the data is encrypted by self-encryption (a take on convergent encryption), but perhaps easiest to think the user strongly encrypts data and only they have the key. Even public data is like this, but the passwords to decrypt are held by the user in a map that names each chunk with a created password (that comes from the data itself, not created by the network). For public data, chunks are still encrypted, but this data map is held in immutable state.

4\. At the moment they are not sandboxed, this should not be the case on launch.

5\. CRDT is what all data on the network should follow, this is being formalised more right now and we hope to see more containers in rust-crdt as well as a bft-crdt extension to this. It's an area we are currently looking to provide and it's coming along well.

6\. Requests are signed by the client (we use BLS there to allow multisig). Network node events are signed by the p2p nodes (ED25519 there). Network agreed events (consensused) are BLS aggregate signed.

7\. No, not at this time.

8\. I worked in large scale network design from the 90's and hated novel/NT etc. as they we way to complex and for small companies horrendous. I created a project called eboxit, an all in1 linux intranet/internet box in 1996 but could not fund it. I realised during that process that these boxes could collaboratively back each other up if they used encryption etc. I then realised it was mental to do that and folks computers could collaborate to create a server like device. Then I realised it was not novell/NT etc. at fault, it was any server and any centralised and controlled by humans system that was at fault. Then 2002-2006 I worked on some form of a first step, little did I know how involved it would be or how difficult funding and building teams from the West coast of Scotland would be. However now OSS has really moved on and with a community it's easier to attract great Engineers. Not geniuses or the best in the world, but the comitted to the vision, just get it done Engineers. That agreed vision make them the best in the world for this specific project ;-)

8 We share that and more. I also believe that AI/neuroevolution/SGD etc. will make huge strides soon and do so with a bang. I am desperate to get time on that, but SAFE is needed first, either this project or another that frees and secures the worlds people to learn, create and communicate without any loss of privacy.

Oh yea, grit, determination and sacrifice are so important. Especially when we got into crypto (btc etc.) as this brought huge amounts of people, but also scammers and folk calling fraud, scam etc. That takes a personal toll when you have already given so much, but the project is important so the price has to be paid.

<comment><USER16> Thanks for answering! Damn, your #2 and #8 answers were very interesting. Iota's encryption is based on Collatz graph mapping, but it's still theoretical at this moment.

</comment></comment></comment><comment><USER17> SAFE is the way of the future. Especially with what is going on now....If you can't see it, too bad for you :)...but suggest you give it a read or watch, plenty of videos too if that is your thing. Interesting too in 2008 the last financial catastrophe we witnessed the birth of Bitcoin and Blockchain technology emerge. This time, 2020 we have the same yet there is also a weird Orwellian/Huxley type aspect to it with all the worlds governments pushing forward with all kinds of Draconian measures and here we are on the cusp of team Maidsafe about to hit the launch button on the SAFE Network.... ;)

</comment><comment> vertex-four In the README of their "consensus protocol":

> Upcoming features

> Foolproof handling of malice

<comment><USER3> (project dev here) There are several levels of consensus. Parsec is a strict order (CP) algorithm. There are also AP ( _strongly_ eventually consistent) algorithms in play here. These are more concurrent consensus (think CRDT and causal order). Now if we back out a wee bit there are some places where strict order is an easy answer, but I personally feel these are all likely to become much more AP like in the future.

Then malice, it's a different module/behavior and requires we either prove the code (SGX etc. which currently is a bit too early) or we add malice detection across the board. This means nodes must not only be on-line or accepting messages, they must not create invalid messages etc. and this is not to difficult to deect. Then add to that the hard detection which is did the node process and forward/reply correctly? This is hard and requires a syncronicity assumption. I belive many projects focus on async everything meaning a node can reply at any time in the future and this is a bit tricky if you have memebrship changes (look at swim etc. for gossip). So for us we make the sync assumtion and have moved to allow a period (of events) that nodes must message (vote etc.) correctly. Then we apply the message malice detection. So malice detection is system wide and a very large area of decentralised networks at this level.

</comment></comment><comment><USER18> The technical side of this project is pretty interesting.

There's TOR-style anonymity using Reliable Message Delivery [0] (and to a lesser degree also Secure Message Delivery [1]). The whole routing aspect of this network is quite the fascinating rabbit hole.

Sybil attacks are addressed with Node Age [2] rather than proof of work, which should be very energy efficient but is maybe open to bribery or collusion (still an open question).

Sharding (to use the ethereum term) is implemented using Disjoint Sections [3] which splits the content-addressable data into sections so nodes only store part of the total data, making it much more efficient from a storage point of view than blockchains like bitcoin or ethereum1.

Unlike most cloud storage (eg storj, s3 et al) the network does _not_ use erasure coding, instead relying only on redundancy. It'll be interesting to see how this plays out since there's a lot of existing research detailing the benefits of erasure coding [4].

The economics of the network are still very far from being finalised and will be challenging to get right. One of the key motives for the project is free- to-access (so anyone can browse) so that means storage nodes are not directly rewarded by clients for the necessary bandwidth to serve that data. It's not clear exactly how this is going to work but given the success of torrents (which are not directly rewarded for seeding) it seems that this particular motive should be possible to achieve.

This is just the technical aspects I think HN people will find interesting. The social impact of truly permanent data and truly private user-owned data will also be unique aspects of this network.

[0] [https://github.com/maidsafe/rfcs/blob/bebf53550bb2171deadb76...](https://github.com/maidsafe/rfcs/blob/bebf53550bb2171deadb7697a813f088ec80a035/text/0058-reliable- message-delivery/0058-reliable-message-delivery.md)

[1] [https://github.com/maidsafe/rfcs/blob/bebf53550bb2171deadb76...](https://github.com/maidsafe/rfcs/blob/bebf53550bb2171deadb7697a813f088ec80a035/text/0056-secure- message-delivery/0056-secure-message-delivery.md)

[2] [https://github.com/maidsafe/rfcs/blob/bebf53550bb2171deadb76...](https://github.com/maidsafe/rfcs/blob/bebf53550bb2171deadb7697a813f088ec80a035/text/0045-node- ageing/0045-node-ageing.md)

[3] [https://github.com/maidsafe/rfcs/blob/bebf53550bb2171deadb76...](https://github.com/maidsafe/rfcs/blob/bebf53550bb2171deadb7697a813f088ec80a035/text/0037-disjoint- groups/0037-disjoint-groups.md)

[4] [https://maisonbisson.com/post/object-storage-prior-art- and-l...](https://maisonbisson.com/post/object-storage-prior-art-and-lit- review/)

</comment><comment><USER13> From someone who has done their due diligence on this project, I have to inform you there is another project using the name Safecoin @ safecoin.org that is scammy and IS NOT related in any capacity to Maidsafe OR the SAFEnetwork project. That said, the SAFEnetwork project has impressed me a great deal with their technical progress towards making an autonomous self healing network that is centered around security, privacy, data ownership/control and usability. Obviously something we can all agree is (possibly over) ambitious and mouth watering fodder to those of us understanding in which ways the large tech monopolies silo and steal user data, track us, off our backs for their gain. The projects proposal almost seems like a bait and switch no? Maybe too good to be true? Maidsafe has been at it for over a decade, it has to be a scam. Just riding off the back of Bitcoin! No. The idea has been around since 2006 before bitcoin and though even up until mid 2019 the way in which this vision would be achieved had been R&D'd for the umteenth time, that stage is over and the engineering has been nothing short of brilliant.

There are at home tests that can be run through the command line of the first iterations of a working network that prove this technology. Check out the [baby Fleming release]([https://safenetforum.org/t/safe-network-dev-update- march-26-...](https://safenetforum.org/t/safe-network-dev-update- march-26-2020/31360?))

Or for the less technical crowd you can get your hands dirty with either a network gateway tool called the SAFEnetwork App, the desktop or mobile SAFE Browsers, using Maidsafe's shared section of the third iteration of baby Fleming. Check out the latest downloads [here]([https://safenetforum.org/t/download-safes-latest- versions/30...](https://safenetforum.org/t/download-safes-latest- versions/30904?)) and the mobile browser can be found [here]([https://github.com/maidsafe/safe-mobile- browser](https://github.com/maidsafe/safe-mobile-browser)). Once you are connected visit safe://sites to see a few sites others have tinkered with and published or publish one yourself.

Some might think the amount of available content is a bit lack luster at first but there is a growing amount of app developers working to publish their apps to a live network.

When will the network be fully live? No one can fully answer that and that includes Maidsafe but the R&D is done. The fundamental technology and different working parts are proven and working together but now the focus is on optimizing performance, concurrency and guarantees, and some additional features (such as multi-sig, and later RDF/Linked Data). All the while a professional and intuitive user interface is being designed to converge with the end product that will allow for full access and control of your personal data and web publishing, data sharing abilities. This is one area that is under served in the "crypto" space and one area that Maidsafe is underestimated and will surprise many. The lead designer at Maidsafe has a few things up his sleeve and how the network is uniquely built enables a lot of functionality.

Don't over look or underestimate this project. SAFEnetwork has a very bright future.

<comment><USER19> If safecoin.org is a scam, why aren't maidsafe and/or sagenetwork representatives trying to :

\- shut down safecoin.org,

\- if not possible : change the name of their own coin and/or project to make it clear it is not related in any way with safecoin.org

\- in any case : advertise this issue more largely and more clearly ?

<comment><USER5> They have tried/and are still working through this issue. Debate has ranged from asserting MaidSafe's rights to the Safecoin trademark to changing the name. Here are links to some of the discussions on this that have taken place on the forum:

[https://safenetforum.org/t/the-safecoin-roadmap-the-road- of-...](https://safenetforum.org/t/the-safecoin-roadmap-the-road-of- thieves/24430)

[https://safenetforum.org/t/safe-name-to-be-used-by-new- coin/...](https://safenetforum.org/t/safe-name-to-be-used-by-new- coin/20315/13)

[https://safenetforum.org/t/what-is-the-name-of-the- coin/2378...](https://safenetforum.org/t/what-is-the-name-of-the-coin/23780)

[https://safenetforum.org/t/safecoin-safe-and- maidsafecoins-m...](https://safenetforum.org/t/safecoin-safe-and- maidsafecoins-maid/28546)

[https://safenetforum.org/t/incorrect-info-on- coinmarketcap/2...](https://safenetforum.org/t/incorrect-info-on- coinmarketcap/27658)</comment></comment></comment>


Ask HN: Sea levels rising – thoughts? - <AUTHOR>

I live on the coast, about 6m above sea level. <comment><USER2> Learn to swim.

Cause I'm praying for rain

And I'm praying for tidal waves

I wanna see the ground give way.

I wanna watch it all go down.

Mom, please flush it all away.

I wanna see it go right in and down.

I wanna watch it go right in.

Watch you flush it all away.

Time to bring it down again.

Don't just call me pessimist.

Try and read between the lines.

I can't imagine why you wouldn't

Welcome any change, my friend.

</comment><comment><USER3> 6m - Probably not within your lifetime.

Beside, what the western world induced in the middle east destroyed far more living space (not to mention the fatalities). I'd think that would be a better point to work on.

</comment><comment><USER4> Won't have to drive as far to get to the beach.</comment>


Trump to 'leave business' over presidency - <AUTHOR> http://www.bbc.co.uk/news/world-us-canada-38155141 <comment><USER2> This is BS. The only way to avoid conflicts of interest is to liquidate his assets and put the money in a blind trust.</comment>


Is reheated pasta less fattening? - <AUTHOR> http://www.bbc.com/news/magazine-29629761 <comment><USER2> When I was at school and University I was agnostic waterpolo player. It's a very intensive sport with 3 hours of workout per day, and some days double session. A intensive sport like this can totally change your relation with the food because you can eat everything you want. The problems arrived when I got my degree and I ended to play as agonistic. My body started to inflate like a ball, in few years I have gained 20-25 kilos. That was a big deal because I'm little and I have good muscle mass with broad shoulders, in other words I had look like a cubic. Loss weight is pretty simple, just go to a dietician and many kilos go away , but the hardest thing is after you finish the diet. During all my diets I was hungry and at the end I always got the my initial weight. I read a book about proteic diet and I tried it . Well I have lose 18 kg and it looks like I done an Fdisk on my body. Now I do not like pizza , pasta , because they do not give me the satisfaction as before. Also I discovered oat bran , that is great because it catchs the eaten fat and it deletes the your hungry. Just my experience

<comment><USER3> One possible takeaway here is that vigorous exercise for 2 to 3 hours, 5 or 6 days per week is a decent strategy.

There's a lot of petty optimization going on in the world of fitness and weight loss ... in reality you don't need a diet or a fitbit or a fashionable caveman lifestyle if you're just outside moving a lot.

<comment><USER4> Most people don't have the time to move.

If you want to change your body composition, you can do it entirely with the time you already use - eating - without having to do anything else.

I find fixing people's diet habits -- then pushing them into fitness once they have clean eating down pat as a habit, is much better than "just run it off"

</comment></comment></comment><comment><USER5> I've pretty much cut out sugar and most carbs for 4-5 years now. I was never fat, but I wanted to lose those 5 extra pounds around my hips that just seemed impossible to shed for me doing a standard, less caloric diet and lots of exercise. Cutting out sugars/breads worked wonders for me personally, and at stretches in life when I'm feeling really lazy and don't want to work out, it's way easier to regulate my body weight using a low-carb regimen and still be able to eat large, satisfying meals.

<comment><USER6> Congrats on such a long time sticking with it.

I've been on low carb 2 years, no wheat, down from 225 to 180 with 0 exercise, and I'm 34. In the middle of that stretch, I had a regression due to eating too much fat (fat bombs, sour cream, heavy cream, butter, etc.) and I bounced up.

So I decided to just eat protein and what fat comes naturally with it, and not add any extra pure fat, for as long as I'm trying to burn my own fat. And that's worked well - basically meat, eggs, cheese. In fact, I'm probably about done with the loss phase now. Yay!

And I don't get 'hangry' as my wife would say, due to blood sugar crashes, so mentally I'm much better.

<comment><USER5> > I had a regression due to eating too much fat (fat bombs, sour cream, heavy > cream, butter, etc.)

I went through this phase too - at one point I was eating things for breakfast that even Ron Swanson would have thought was disgusting :)

</comment></comment></comment><comment><USER7> Looks like this violates Betteridge's law of headlines!

</comment><comment><USER8> Refined carbs may not have an immediately negative effect on your health, but they should be avoided if you want to live long and healthily. A lot of people look at carbs only from the perspective of diabetes, weight gain, and taxing your pancreas, but there's more - don't ignore glycation, which has harmful effects way beyond diabetes, which is considered to be "accelerated aging" due to AGEs [1]. My supplementation is specifically targeting AGEs and try to reduce fast carbs as much as possible. I love yams, cold potatoes with vinegar and cold rice (to get resistant starch), and raw fruits, so, I'm not saying carbs should be avoided at all, but definitely should be reduced to a bare minimum and in forms where you get more than just carbs - loads of phytochemicals. Commercial pasta and bread are terrible not only because of the carbs, but also because of the fortification - folic acid should be avoided as roughly 30% cannot metabolize it and free folic acid is without a doubt harmful - especially to Mexicans due to wide-spread methylation issues. If you have 23andMe, go check your methylation and detox profile here [2] (it's a free service). It was an eye-opening subject to me and explained much of the evidence why blindly (over)supplementing could be harmful!

[1] [https://en.wikipedia.org/wiki/Advanced_glycation_end- product](https://en.wikipedia.org/wiki/Advanced_glycation_end-product)

[2] [https://geneticgenie.org/methylation- analysis/](https://geneticgenie.org/methylation-analysis/)

<comment><USER8> I'm sure I got downvoted by a carbhead.

</comment></comment><comment><USER9> Did they use a sample size of 5?!

Has there been any relevant publications on this topic?

<comment><USER10> Using such a small sample size to draw any relevant conclusions is indeed a weird methodology. If their findings were to be true, I would surely try it out. For now this rather looks like one of those nutrition recommendations that have no real foundation in research. Sadly.

<comment><USER11> I see a lot of posts by the author curious as to why people downvoted -- is it okay if I ask? This seems like _the_ comment I would want to read if I had the option of selecting a tl;dr or general reaction. He's not even saying they're wrong, he's just saying that without using a larger sample size the recommendation isn't founded in research. This appears true -- it's primarily built from induction over other ideas.

</comment></comment></comment><comment><USER12> The article appears to not answer the question. It makes claims that reheated pasta raises blood sugar more slowly, but seems to say nothing about if it's more fattening.

<comment><USER13> The reason it raises blood sugar more slowly is because some of the carbohydrate is converted into, effectively, dietary fibre. That means you get fewer calories for the same serving size.

<comment><USER14> What I was wondering about this: the article says to have cooled the pasta overnigh. But does this work anyway if you cool it passing under cold water?

</comment></comment></comment><comment><USER15> wait ... pasta is fattening? I eat pasta ALL THE TIME and I am far from "fat"

<comment><USER16> It's a simple carbohydrate. So, depending on who you ask, it causes blood sugar spikes leading to insulin resistance, leaves you hungry again a few hours later, is addictive, and causes other maladies. Along with white bread, sugary drinks, cereals, etc., etc.

There are a lot of reasons one might not get fat, so a thin person who eats pasta is not surprising. But a fat person with a pasta addiction (like me) has a good idea where to start changing his diet.

<comment><USER17> Is non-white bread different?

<comment><USER18> I used to eat a lot of whole wheat bread until I discovered that its glycemic index is not that different and even more shocking, that it acts like a 'sponge' soaking up and removing many other useful vitamins, minerals and micro-nutrients from the gut

</comment></comment></comment></comment><comment><USER19> If fitness culture has "broscience", than this is its "highbrowscience" counterpart.

</comment><comment><USER20> Why is everyone being downvoted for asking simple, inoffensive questions?

</comment><comment><USER6> So low tar cigarettes are not as deadly as regular. Let's all have low tar cigarettes, because they're healthy.

Yeah, that's shamelessly ripped from Dr. William Davis, but it shows the logic problem.

I have to shake my head at people trying to run around the problem of carbohydrate intolerance by insisting theres a 'healthy way' to consume them. Any other food would have people advising you to stay the hell away from it if you're intolerant. But you know why carbs are different? Because they're so cheap, and governments for whatever reasons seem to want a large population (in more ways than one) rather than smaller, healthier ones.

Anywho, good luck to everyone doing the exact opposite of what the government funded "science" and corporate "health care" tell you what to do. It would be hard to do any worse...</comment>


I Lost Faith in the Industry, Burned Out, but the Cult of the Tool Saved Me - <AUTHOR> https://habr.com/en/post/440914/ <comment><USER2> I think F# just fits the way he thinks really well. I have that same sort of Zen experience when I code in Ruby. Ruby's object model sets like firmament in my mind and allows me to think about blobs of Ruby code in a discrete rather than a continuous fashion. Which is what I think the author is getting at with his praise. Abstraction verbosity golfed down to a minimum.

I couldn't even imagine giving up Ruby's elegant object model for the verbosity of a static typing system. So when people tell me that Ruby or Rails is magical, I'm like, yeah, in a good way. But the arcane correspondences just aren't very accessible. If I want a functional programming model, I just code one up out of the basic building blocks of ruby. If I want a type system, I can make one.

<comment><USER3> Don't languages like F# remove much of the verbosity of a type system? In fact, we're finally loving away from that verbosity in general. Swift, for example, lets me write declarations like this:

var done = false

let language = "russian"

let languages = ["english", "french", "german", "russian"]

let dictionary = [1:"english", 2:"french", 3:"german", 4:"russian"]

The types are implied. The use of 'let' means immutable.

I believe F# goes even farther but the verbose typing of a generation ago is almost gone.

<comment><USER4> This. Static typing doesn't mean tedium in modern languages. In Java and old C#, you would write stuff like this:

      int x = 1;
      BigOldClass y = new BigOldClass()
      Dictionary<int, List<string>> z = new Dictionary<int, List<string>>();
      int[] p = new int[] {1, 2, 3};

In modern C#, you can write cleaner code like this:

      var x = 1;                  // type is inferred
      var y = new BigOldClass();  // syntactic sugar to avoid repetition
      var z = new Dictionary<int, List<string>>();
      var p = new [] {1, 2, 3};

Still strongly, statically typed, and obviously typed.

<comment><USER5> This is also true in Java now

<comment><USER6> C++ also has auto now.

</comment></comment></comment></comment></comment><comment><USER7> Great article!

I had a similar revelation with Lisp and Clojure. Writing in a language you enjoy using and are very productive in (effort->effect) is really liberating.

The great thing is even when I have to return to the old ways (Java) Clojure's java interop makes writing the Java a lot more manageable, almost fun.

I don't know whether it's the functional paradigm, the dynamic typing (I didn't have the same revelation with Ruby/JS), immutable collection by default, the minimal lisp syntax, etc.

It just feels right.

<comment><USER8> And of course surveys of recent years shown that the highest paid PLs are F# and Clojure. Coincidence? I don't think so.

</comment></comment><comment><USER9> F# was one of the most frustrating languages I ever tried to learn. It sits in this uncanny valley between OCaml and C#. I've had many, many problems where I spent tons of time searching for idiomatic way of doing something only to find out that there is none and I have to use "normal" .NET classes. The documentation is pretty bad.

I find myself highly productive writing "mostly functional" code in C# using LINQPad. The only thing that drags me down is that it doesn't have good support for data structures that you can copy on the cheap a-la Clojure. The paradigm of "copy the world on change" is immensely powerful. Maybe I should look deeper into this. It seems that basic data structures for this wouldn't be very hard to implement on my own.

I think the ideal language for me would have functional, strongly typed capabilities for low-level operations and dynamic, late bound objects a-la Smalltalk for high-level stuff. But for this to work well it would need to have strong mechanism for versioning references, so functional parts don't get contaminated with mutability.

Oh, another thing about C#. I really wish it had an ability to concisely say "take an object, create a subclass of its class with additional properties, instantiate it, copy all values from source and then set extra properties to what I just provided".

      Something x = new Something { Property = "Hello" };
      var y = x.Expand(me => new { AnotherProperty = me.Property + " World" });
      Assert(y is Something);
      Assert(y.Property == "Hello");
      Assert(y.AnotherProperty == "Hello World");

Seems like a weird piece of functionality, sort-of-union-types, but it would save me tons of code in many, many contexts.

I can implement this using reflection, but it will be slow and complicated and not worth the effort. Maybe the new tuple mechanisms can do something of this sort with minimal overhead and syntax. Need to look into them.

</comment><comment><USER10> >> ... programming in TypeScript every day.

That explains why OP got depressed, considered quitting the industry and then switched to F#. If I keep using TypeScript, I might just snap and switch to COBOL.

<comment><USER11> Why the hatred of TypeScript? The vast majority of TypeScript devs tend to love the language in my experience

<comment><USER12> > _The vast majority of TypeScript devs tend to love the language_

That sounds kind of like saying, "the vast majority of people with cilantro in their burritos like cilantro."

<comment><USER13> Due to _Javascript Stockholm Syndrome_ it's more like "the vast majority of people forced to eat burritos at their day job like cilantro on their burritos."

</comment></comment></comment></comment><comment><USER14> OP will ascend to the next level as a programmer when he realizes he doesn't have to do all that enterprise crap in C# either.

</comment><comment><USER15> My bullshit detector was wailing at full blast reading this. The details seem extremely exaggerated. I guess you could call it storytelling.

Maybe I'm just annoyed by his slight on public transportation.

<comment><USER16> He has a .ru email, so I'm guessing he's from Russia, I don't know where from exactly. I don't know anything about public transportation in whatever part of Russia he lives, so why would I judge him about that?

<comment><USER15> Good point! I probably rushed to judgement. A little more believable then, that his car spontaneously caught fire and he walked home 10km -30C in inadequate clothing when he had another option available. Also the corporate corruption, the fake broken English, etc. makes somewhat more sense.

</comment></comment></comment><comment><USER17> Thank you for this article. The point is not F#. The point is finding a philosophical fit with your code .. a kind of "Drift mode" (like the Del Toro movies - [https://m.huffpost.com/us/entry/us_3696719](https://m.huffpost.com/us/entry/us_3696719))

For me, it was Ruby. I have stopped writing Ruby code and have found other languages that I love now (yes including Typescript), but nothing will replace the enlightenment rush of Ruby.

I think all programming languages that exist today are a symbolic representation of different kind of mental models that humans have. When you find one that synchronises with your mental model, it's just magical.

</comment><comment><USER18> I'm getting burned out on all the narcissists writing articles about how they thought everyone else was an imbecile, and rudely raged at everyone most of their career, and how great they are because they got slightly less cancerous. Life is too short for that, if you love something, or have a technical opinion, be a kind hearted teacher and discusser not a rage monster.

<comment><USER19> This comment probably breaks the site guideline which asks: "Please respond to the strongest plausible interpretation of what someone says, not a weaker one that's easier to criticize. Assume good faith."

[https://news.ycombinator.com/newsguidelines.html](https://news.ycombinator.com/newsguidelines.html)

I didn't read it super closely but it seems obvious he's just using that language as a form of self-criticism. No need to pile on. (Edit: also, I think some of this is cultural differences.)

</comment></comment><comment><USER20> Did you ever read Flatland? Spoiler alert...

The thing about Flatland is the twist at the end, when Square asks Sphere about even higher dimensions (than three) and Sphere is unwilling to consider them.

(I guess what I'm saying is, if you like Functional Programming, try Prolog. Logical Paradigm is even more useful than Functional Paradigm.)

</comment><comment><USER21> I've been meaning to look into F# and this post gave me the motivation to do so again.

However, trying to get up and running on a Mac, the documentation is horrible. I looked at several of the official guides, including the Microsoft site on how to get running with VSCode, and none of them worked without having to search for the error messages.

Now that I'm up and running, none of the docs I could find would tell me how to build/run a project.

It appears you to install the .NET Core SDK, and now trying to build a project gives some ".NETFramework,Version=v4.6.1" error.

What a nightmare. I almost expected this since this is a .NET/Microsoft related project.

<comment><USER22> Right now, there is a transition between net framework and net core in the MS .net world, which causes plenty of confusion to newcomers. Which is sad, because the clean, .net core way is the simplest thing in the world:

1\. Install the dotnet core sdk 2\. From a command line in an empty folder, run `dotnet new console -lang F#` 3\. To build or run use `dotnet build` or `dotnet run`

<comment><USER21> Wow, that actually worked. Wish those were in the official docs so I wouldn't have wasted an hour trying to debug...

I followed the VSCode instructions and using "F# new project" apparently gave me a .fsproj with the wrong TargetFramework, and after changing that, then got a "Could not load file or assembly 'FSharp.Core" error.

<comment><USER22> Yeah, sorry. dotnet core to me has been an attempt by MS to not just get cross platform, but also to rewrite everything to get rid of the old kludges. Simple CLI, simple fsproj files, easy nuget, no differences on linux/osx/windows.

But there is still a lot of outdated docs out there. dotnet core has just come too fast, imo (though I'm thankful). These MS docs are accurate: [https://docs.microsoft.com/en-us/dotnet/fsharp/get- started/g...](https://docs.microsoft.com/en-us/dotnet/fsharp/get-started/get- started-command-line). Though it does specify the use of sln, which isnt necessary for small projects.

</comment></comment></comment></comment><comment><USER23> I have been making a transition to be a functional programmer for a few months now because similar concerns and stresses. I know that the programmer of the future will construct programs like mathematicians do. The madness of the old ways brings too much grief.

</comment><comment><USER24> This headline sounds like it's from an HN headline generator

</comment><comment><USER25> Things never got so bad for me that I «lost faith in the industry», but I definitely had the same reaction to F# as you did.

It just makes programming so much more fun — all the tedium is gone, it feels like every character you write is actually important.

</comment><comment><USER26> This is a scarily similar story of how I ended up in F#. I'd reached the peak of C#. Every possible best pattern and practice (including the ones that were still a few years away) I'd already done them and perfected them. I was so high up on the peak of the C# mountain that recruiters could no longer understand me, employers could no longer understand me, co-workers could no longer understand me. I could no longer function on projects and teams this way. I ended up doing almost nothing except "R&D" for the teams I worked. None of my R&D ended up in the product. I wrote specs, whitepapers, all sorts, something to try to contribute. Nothing seemed worth the hassle. Toward the end probably a couple months had passed where I'd made no commits, and had barely typed a single letter into Visual Studio. I became an imposter and a pretender - my self confidence took a huge knock. I quit and went back to what I knew best. Building my own businesses with a trusted old business partner. Some of the R&D I did in that last team was in F# and I chose to use F# in my new venture. I directly attribute F# as having had literally pulled me out and saved me from that year of burnout. And made me completely unlearn everything that was wrong about software development and relearn it the right way. The transformation took about 4 months and I'm now 5 years since that time and I never look back. The thought of going back to C# and all that crap ... I think I would rather earn money smuggling drugs or something.

I think the lesson is: If you get burnt out, try changing your tooling for something more modern. If it ever happens to me again - I will try to have the clarity of mind to do it again.

<comment><USER27> > I'd already done them and perfected them. I was so high up on the peak of > the C# mountain that recruiters could no longer understand me, employers > could no longer understand me, co-workers could no longer understand me. I > could no longer function on projects and teams this way.

Object-oriented programming has its drawbacks, of course.

But your monologue here is a bit grandiose. It reminds me of the narrator in Zen and the Art of Motorcycle Maintenance as he reached the pinnacle of his insight into metaphysical Quality. He was actually just going mad, of course.

Maybe you had communication difficulties with other people because you were having a severe case of burnout that verged on a nervous breakdown? In any case, I'm glad you're feeling better.

<comment><USER26> "Object-oriented programming has its drawbacks, of course."

They say it takes 10 years to become an expert in anything. In my case, with OOP, I did it in 6. I would highly advise to anyone that once you become expert level in anything - don't hang around for long: make sure you've got the next meal ready for your brain as it will hate you if you haven't.

Was not intentionally grandiose. The intention was to avoid superfluous detail given the context.

Thanks

<comment><USER26> Hi yatherm. Thanks for the comments. It is possible, after reading the OP article and being caught up in the shock moment of "this guy's story is identical to mine!" that I commented in a bit too much of a "Alcoholic's Anonymous" style that is inappropriate for HN. Ah well.</comment></comment></comment></comment>


Stack Overflow Jobs - <AUTHOR> http://stackoverflow.com/jobs <comment><USER2> Any difference with stackoverflow careers [http://careers.stackoverflow.com/](http://careers.stackoverflow.com/) ?

<comment><AUTHOR> Some differences. Generally, it's been ported over to the main Stack Overflow site with Q&A now.</comment></comment>


Do Antivirus Companies Whitelist NSA Malware? - <AUTHOR> http://www.informationweek.com/security/vulnerabilities-and-threats/do-antivirus-companies-whitelist-nsa-malware/d/d-id/1112911

<comment><USER2> Most likely not and if they do then they're risking their business. A lack of response should not be treated as evidence of them engaging in state-requested white listing.

I previously worked in the AV industry (security consultant now) and have heard the drum beaten internally on numerous occasions that if the code is malicious then it must be treated as such regardless of who it is from or what is its intentions. The fallout from white listing malware that originates from a state-run entity would likely spell for a huge drop in profits.

So again I'd not take the lack of response as evidence of wrongdoing but rather an unwillingness to discuss business practices with third parties.</comment>


Open-sourcing Submitit, a tool for Slum cluster computation - <AUTHOR> https://ai.facebook.com/blog/open-sourcing-submitit-a-lightweight-tool-for-slurm-cluster-computation/ <comment><AUTHOR> Submitit is a lightweight tool for submitting Python functions for computation within a Slurm cluster. It has simplified the task of scheduling an experiment on the cluster and collecting the results, logs, etc.</comment>


Chasing Chemtrails with Clojurescript - <AUTHOR> https://nervous.io/clojure/clojurescript/node/aws/2015/08/09/chemtrails/

<comment><USER2> It's nice to see crazy people finding interesting solutions to imaginary problems.</comment>


Amazon AI Interview Questions - Acing the AI Interview - <AUTHOR> https://medium.com/acing-ai/amazon-ai-interview-questions-acing-the-ai-interview-3ed4e671920f <comment><AUTHOR> Happy to answer questions if any</comment>


The Search for Our Missing Colors - <AUTHOR> http://www.newyorker.com/tech/elements/the-search-for-our-missing-colors <comment><USER2> I wish people writing about new broad-gamut displays would at least include a brief mention of the downsides of extremely narrow-wavelength-band primary colors:

Such displays can create dramatic "observer metamerism" problems, where different people view the colors on screen significantly differently from each-other – even if they would see real-world objects relatively similarly – because slight differences in color vision are amplified by color sources with spiky spectra. Even worse, spiky spectra tend to cause a noticeable difference between foveal and peripheral color perception.

References: [http://rit-mcsl.org/fairchild/PDFs/PRO30.pdf](http://rit- mcsl.org/fairchild/PDFs/PRO30.pdf) [http://cias.rit.edu/media/uploads/faculty- f-projects/1304/do...](http://cias.rit.edu/media/uploads/faculty-f- projects/1304/documents/239/modeling-observer-metamerism.pdf)

Just did a google search, and there's also some discussion here [http://www.avsforum.com/forum/139-display- calibration/190850...](http://www.avsforum.com/forum/139-display- calibration/1908505-why-current-leds-oleds-breaking-cie1931-observer- model.html)

Personally, I also feel like spiky-spectrum displays and light sources give me more eyestrain and seem less pleasant to look at. But I admit that such an effect might be entirely in my head.

I'm looking forward to the day when we have displays with 6+ primaries, or maybe even reflective displays (not backlit) with 6+ subtractive color primaries.

<comment><USER3> > give me more eyestrain and seem less pleasant to look at. But I admit that > such an effect might be entirely in my head.

Even if it isn't entirely in your head, it's still entirely in your head. ;-)

</comment></comment><comment><USER4> In case anyone else was annoyed by the lack of technical details:

Old (Rec. 709) colour space: [https://en.wikipedia.org/wiki/File:CIExy1931_Rec_709.svg](https://en.wikipedia.org/wiki/File:CIExy1931_Rec_709.svg)

New (Rec. 2020) colour space: [https://en.wikipedia.org/wiki/File:CIExy1931_Rec_2020.svg](https://en.wikipedia.org/wiki/File:CIExy1931_Rec_2020.svg)

Most of the "new colours" are greens and turquoises; reds can now be slightly brighter, but blue is almost unchanged.

<comment><USER2> Gah. It's been 40 years everyone. Let's agree to stop using the CIE 1931 (x, y) chromaticity diagram, which is horribly misleading, in favor of the CIE 1976 UCS (u', v') chromaticity diagram. [I would replace all the diagrams on Wikipedia myself, but it would take several days of effort, and probably a few weeks' slog of talk page arguments.] The difference between these two color spaces is much less extreme than the xy chart makes it look.

<comment><USER4> I don't know enough about colour perception to argue the merits of one diagram vs. another, but am I incorrect in my assessment of what colours are entering the gamut (lots of green, a bit of red, not much blue at all)?

<comment><USER2> Sort of. The green area is not nearly as dramatically different as the xy diagram makes it seem, while the red and blue areas will appear more different in the u'v' diagram. (Of course, chromaticity diagrams in general aren't a perfect tool.) The "Gah" is directed at Wikipedia, not at you.

You can see some u'v' diagrams alongside spectral power distribution charts of specific real-world displays in [http://cias.rit.edu/media/uploads/faculty-f- projects/1304/do...](http://cias.rit.edu/media/uploads/faculty-f- projects/1304/documents/239/modeling-observer-metamerism.pdf)

</comment></comment></comment></comment><comment><USER5> * it's a tour of the exotic pigment samples collection at Harvard

<comment><USER6> Thank you for saving me a click.

As a designer I get my panties in a knot every time I read about color. At least when I catch misleading or ignorant headlines.

<comment><USER7> That comment only describes the video at the bottom, not the article.

</comment></comment></comment><comment><USER8> As someone who is used to being unable to distinguish between similar shades of color, this strikes me as somewhat funny. So much ado about a few missing nuances.

</comment><comment><USER9> but its my understanding that rec. 709 isn't the same as sRGB which is what most non-TV things are attempting to emulate/implement

</comment><comment><USER10> iow, they are attempting, again, to emulate the capabilities long available in film. This is reason #9179 why film STILL is the best medium.

<comment><USER11> This is not about the recording side of things, this is about the display side of things. And if you display footage shot on film on a standard computer monitor, you won't magically have more color.

Also, modern high end digital cameras can record a lot more color information than film can...

<comment><USER10> As I said, for display, too, film beats them all.</comment></comment></comment>


13 iPhone Apps That Need to be Made -- Add Yours in HN Comments - <AUTHOR> http://ryanspoon.com/blog/2009/04/19/13-iphone-apps-i-want-developed-google-espn-friendfeed/ <comment><USER2> Yawn yawn yawn. He wants Apps for his favourite Google products and social networks. How unbearably dull and unimaginative; quick quick, I need a link to the top 10 knitting patterns from 1897 to liven things up a bit!

Apps (or WebApps) for the iPhone?

I'd like to write one or see one that would do for cars what Shazzam does for music - photograph a car, it recognises it and tells you what it is. Bonus if it does other forms of transport and near-matches too. Totally useless, thoroughly cool.

One that I've mentioned in almost every post here for ages, a service that I can take a photo, it does OCR and feeds the text into Google translate. Bonus points if it does source-language-detection. More bonus points if it is actually usable in a foreign country on real live things like signposts, menus, timetables, advertisements, book covers, leaflets, etc.

How about some over-the-top cool statistics and analytics for next week's London Marathon and July's Tour de France?

How about a Shazzam-alike for ambient noises? Natural stuff? Wave your phone around and it tells you which birdsong that is, photograph something and it tells you which tree has that shaped leaves, what flower or bird or insect you're looking at. Bonus points if it's in any way accurate.

How about a grass-roots weather data feed? Wave your iPhone about and upload some GPS-specific current weather data to everyone's favourite mapping and mass-data crunching big brother, GOoooooooOOooogle and see if they can compete with the Meterological offices. Google Maps with satellite photo exists, why not Google Maps with live (and predicted) weather info overlay? Bonus points if there's a hardware sensor-array accessory for iPhone 3.

Maybe a city or museum tour guide app - go somewhere and pay to download an audio tour. Better if it can pick up data from where you are and guide you to nearby points of interest, and has photos, videos and text too. Even better if it's not that, but this: <http://news.ycombinator.com/item?id=492789>

Some decent mesh/local networking for iPhone 3 would be brilliant as well. Imagine a megaphone where one person could speak but only other people with tuned in networked phones could hear. Cross between a a shared walkie-talkie channel and a very short range radio broadcast.

<comment><USER3> "How about a grass-roots weather data feed? Wave your iPhone about and upload some GPS-specific current weather data to everyone's favourite mapping and mass-data crunching big brother, GOoooooooOOooogle and see if they can compete with the Meterological offices. Google Maps with satellite photo exists, why not Google Maps with live (and predicted) weather info overlay? Bonus points if there's a hardware sensor-array accessory for iPhone 3."

You just described the idea behind my (not an iPhone app) startup: OtherWeather.com Would love someone to write me an iPhone app for it though, I've been trying to convince my developer friend to do just that for months.

<comment><USER4> I used to work over at iWindsurf and iKitesurf and we had planned on doing something like that but it never went through. WeatherUnderground has been allowing user's to upload data from their personal weather stations (PWS) for years. The niche, I think, in this idea is allowing anyone, anywhere with or without special equipment to issue a weather report. There's a massive data storage and standardization challenge with it though.

</comment></comment></comment><comment><USER5> Rather than new apps, I'd like to see the SDK open up for more powerful apps.

* I'd like Skype to be able to answer a Skype call when the phone's locked (assuming it's the active app).

* I'd like to be able to write a custom keyboards and custom dialers.

* I'd like to be able to send a quick note to Jott without entering my keycode.

* I'd like to see barcode readers as smart as the ones on Android.

* I'd like to see the SDK terms loosened to allow third-party app frameworks. Apple may not be fond of the impurity, but it's crazy that every simple web service needs to write a separate version of their app for Android, iPhone, Blackberry, Windows Mobile, etc. It wouldn't be far fetched to make a gecko-based app framework for mobile devices if the licensing allowed it.

* I'd also like to write iPhone apps in MacRuby.

Another pet peeve, though not necessarily app-related, is how the phone defaults to wifi hotspots that require web-login, breaking every other app until you either go to the website or disable wifi. I'd like either smarter software handling of that situation, or a physical button to enable/disable wifi.

<comment><USER6> "* I'd also like to write iPhone apps in MacRuby."

Theoretically you could now, around 40 apps in the App Store already use a .CLR bytecode -> native binary compiler produced by Novell as part of Mono. Add IronRuby or IronPython. Serve.

But a) No docs b) I'd rather a native implementation too.

</comment></comment><comment><USER7> I'd like to see a TI-85 style graphing calculator. Something that has all of the scientific functions, as well as basic 2-D graphing capabilities. I wouldn't need it to be programmable like the TI calculators, though.

<comment><USER8> I would assume that is already there. I know there are pretty complete financial calculators for the iPhone.

<comment><USER7> I have also seen financial calculators for the iPhone; these aren't very useful to me as an Engineer. I haven't yet come across a scientific calculator with graphing capabilities for the iPhone. If you find one, please post a link!

<comment><USER9> A quick search for "graphing calculator" on the App Store turned up lots of hits for me. None of them free, though.

</comment></comment></comment></comment><comment><USER10> There's already apps for half the stuff on that list

<comment><USER11> Post names/links please.

</comment></comment><comment><USER12> What's "aardvark"? Google throws up a bunch of possibilities, none of which look especially likely.

<comment><USER13> Pretty sure the article is referring to: <http://vark.com/>

It's a social expertise-based Q&A site. Email me for an invite.

<comment><USER14> I've been using Aardvark for the past couple of weeks, and I'm sorry to say but it is truly pointless.

Almost all of the questions are specific to the Bay area, and most of them are just people looking for Google-replacements, e.g. "What's the half-life of Uranium-235?". Only a tiny portion are well-worded, opinion-based questions like the system was meant to handle.

Even then, the system does not seem to respect my preferences at all, and continues to send me questions out of my field of expertise or geography (which the system knows), and fails to learn from this constantly.

The only part of Aardvark that impresses me is their uncanny ability to assign categories to submitted questions.

Also, the system does not inspire confidence at all, when it takes a full day to get you two answers to a simple question, and half the time your question goes unanswered. The system suffers horribly from the chicken-and-egg users problem and I don't feel like it's structured to overcome it.

</comment></comment></comment><comment><USER15> Make my land line phone ring if my iPhone is on my dresser on the second floor and I'm getting something in the basement.

</comment><comment><USER16> Someone needs to build a Wordpress-like application that lets anyone with limited technical knowledge build an Iphone app

<comment><USER8> No, someone needs to NOT do that. The app store is crowded enough without every halfway serious blogger creating an app for their site.

<comment><USER17> Too late:

[http://www.techcrunch.com/2008/10/20/apploop-transforms- blog...](http://www.techcrunch.com/2008/10/20/apploop-transforms-blogs-into- native-iphone-applications/)

</comment></comment></comment><comment><AUTHOR> What apps do you want to see built? Branded or not...

</comment><comment><USER18> A sugar publishing app

</comment><comment><USER19> if you want it, totally build it!</comment>


Idea: create some sort of game/simulator for playing out investment terms. - <AUTHOR>

Investment terms can be confusing and complex and it can be hard for entrepreneurs to envisage the long terms outcomes and impacts of agreed terms.<p>Maybe someone should create some sort of game or simulator that plays out possible impacts of terms? <comment><USER2> This is good idea I love games that you can learn from</comment>


The Secret Guide to Hire Freelance Mobile App Developer - <AUTHOR> http://blog.engineerbabu.com/2016/12/the-secret-guide-hire-freelance-mobile-app-developer/ <comment><USER2> wouldn't "practical guide" sound less like a scam?</comment>


Ask HN: Freelance Matchmaker - <AUTHOR>

I am curious about whether or not there is a freelancer-to-freelance matchmaking service, sort of like odesk or elance, but instead matches freelancers looking for subcontractors/help on projects with other freelancers.<p>If you're a freelancer, under what circumstances -- if any -- would you be interested in taking on a subcontractor/developer under the auspices of an experience or skill exchange? (i.e. You have skills with technology "x", and you'd take on a developer who was seeking to develop a skill set with "x") Sort of like a remote mentorship. Would there ever be a case where you'd do this with a stranger? <comment><USER2> Having someone do the work and mentoring them are really two different things. I was approached about mentoring someone last year, but it really wasn't something I was set up to actually _do_.

I've subbed out some work to someone else recently, and we have conversations, he does the work, and he's learning, but I don't think it's equivalent to a 'mentorship' in the way most people think.

<comment><AUTHOR> Right, I know no one is looking for more burdens in their lives. But if the condition is that you're basically subcontracting to someone who you know going in doesn't have all the skills you do, and maybe not all the skills necessary to complete the project rapidly, but that the subcontractor is self- motivated and an autodidact already, I think the burden is removed.

I am definitely referring to the model in your second paragraph.

</comment></comment><comment><USER3> I am looking to partner someone with coding skills to put my business ideas into practice and offer them equity

<comment><USER2> you should put some contact info in your profile.</comment></comment>


Iranian elections and aftermath: Twitter's best coverage - <AUTHOR> http://trueslant.com/jefftietz/2009/06/18/iranian-elections-and-aftermath-twitters-best-coverage/

<comment><USER2> My eyes started tearing up. Hopefully they get what they want!!! A Free Iran.</comment>


Advertising: Reddit Versus Facebook - <AUTHOR> http://www.jeffknupp.com/blog/2012/02/02/advertising-reddit-versus-facebook/

<comment><USER2> I think you should also consider the type of users you're targetting on FB and reddit as well. From my experience, I would've assumed that redditors would be less likely to sign up because they're already at a place (say the hiphopheads subreddit) to browse and read stuff related to hiphop, so I'd think it's less likely for them to go on to another site to read similar content. Where as on facebook it's users who are just browsing facebook and there isn't any hiphop pages for them to read on FB so if they click through, they can continue reading more about hiphop.

<comment><AUTHOR> I would agree if IllestRhyme was about reading stuff related to hiphop. Instead, it's about _creating_ stuff related to hiphop. There's much more of a focus on user interaction. A user gets far less out of the site if all they do is read (and this is pretty obvious from the minute you get on the site).</comment></comment>