IPFS 0.5 - <AUTHOR> https://blog.ipfs.io/2020-04-28-go-ipfs-0-5-0/ <comment><USER3> I really _really_ want to use this, I have used it in the past. It works great as far as I could tell except for one thing: bandwidth limits[1].

Now _I_ can do this myself, because I'm all "+337" and what not. (I used trickle as described in the comment[2]. Seemed to work fine. Nice and stable.) But I can't recommend Joe and Jane Consumer to install IPFS _and_ some other thing with a straight face, because they'll say, "Well _bittorrent_ can do it!?" and I don't have a good answer.

Maybe there's an opportunity there to rent IPFS VMs to normal people? I dunno.

[https://github.com/ipfs/go-ipfs/issues/3065](https://github.com/ipfs/go- ipfs/issues/3065)

[https://github.com/ipfs/go- ipfs/issues/3065#issuecomment-415...](https://github.com/ipfs/go- ipfs/issues/3065#issuecomment-415907797)

<comment><USER4> plus IPFS wants to enforce copyrights worldwide: [1,2] Businesses principles plus monthly bandwidth usage matter for real people.

[1] [https://github.com/ipfs/community/blob/master/code-of- conduc...](https://github.com/ipfs/community/blob/master/code-of- conduct.md#copyright-violations)

[2] [https://discuss.ipfs.io/tos#8](https://discuss.ipfs.io/tos#8)

<comment><USER5> For IPFS to work, there needs to be no central authority who can block files.

Todays IPFS is a long way from that - any Joe Random can DoS any particular hash by getting their node at the right place in the DHT and blackholing requests.

<comment><USER6> > can DoS any particular hash

Can you explain more how this is possible?

So we have one evil user Karen who wants to block access to content ABC.

She will spam the DHT with requests to content ABC. After a while, nodes will stop responding as she hits the rate limit. Now her DHT requests goes into the void.

Now Joey wants to request content ABC too. He requests the content, and because no other nodes are responding to Karens requests, they responds to Joeys request for the content. Now he can fetch the content.

<comment><USER5> There's a smarter attack...

Every node in the network 'owns' some of the keyspace.

Karen can simply keep reconnecting to the network (brute forcing her PeerID, which determines which bit of the keyspace her node will be responsible for) till she gets assigned that bit of keyspace. Then she can black hole requests to it.

You can defend against that by having multiple owners for a given bit of keyspace (known as quorum in the IPFS design), but evil Karen can simply pretend to be all of the machines hosting that bit of keyspace.

The brute forcing sounds hard, but in a million node IPFS network, on average you only need to do 1 million sha256 hashes, which takes under a second on modern hardware.

</comment></comment></comment></comment></comment><comment><USER7> Good progress. I looked at IPFS a few months ago from the point of view of fitting a decentralized file store. The decentralized requirement came primarily from the point of view wanting to fit this in a broader product that is all about decentralized for various reasons.

Key problems in this space:

\- decentralized is something techies obsess about but that has as of yet no business value whatsoever. Customers don't ask for it. Centralized alternatives are generally available and far more mature/easy to manage. The business ecosystem around IPFS is basically not there.

\- this space is dominated by hobbyists running stuff like this on their personal hardware doing this mostly for idealistic or other non incentivized (i.e. money) reasons. Nothing wrong with this but using it for something real brings a few requirements with it that are basically hard to address currently.

\- Filecoin has been 'coined' as the solution for this for years but seems nowhere near delivering on it's published roadmap. Last time I checked it had undelivered milestones in the past. As of yet this looks increasingly like something that is a bit dead in the water / a big distraction for coming up with better/alternate solutions.

\- Uptime guarantees for content are currently basically DYI. Nobody but you cares about your data. If you want your content to stay there, you basically need ... proper file hosting. As incentives and mechanisms for others to agree to host your content (aka pinning in ipfs) are not there, this is hard to fix.

\- integration with existing centralized solutions is kind of meh/barely supported. We actually looked at using s3 as store for ipfs just so we could onboard customers and give them some decent SLA (bandwidth would be another issue for that). There are some fringe projects on github implementing this but when we looked at it the smallish blocksizes in ipfs are kind of a non starter for using this at scale (think insane numbers of requests to s3). This stuff is not exactly mainstream. Obviously this wouldn't be needed if we could incentivize others to 'pin' content. But we can't currently.

<comment><USER8> > _decentralized is something techies obsess about but that has as of yet no > business value whatsoever._

I don't really understand that point. If it works, then it has the business value of saving you all running server and maintenance costs. For most larger businesses these costs may be insignificant and easily recovered, but for small businesses with a lot of customers they can make a huge difference. For example, I'm looking into P2P options for implementing a decentralized message forum in a game-like emulator and it would make no sense to even implement this feature with constant running costs for server space.

Now getting the decentralized data management to work reliably out-of-the-box from behind various firewalls and different platforms, that's the big problem. So far, none of the libraries I've seen are very easy to use, some require a difficult installation and configuration or you need to your own STUN server or gateway, which kind of defeats the purpose.

<comment><USER9> Many service providers, e.g. CloudFlare or AWS, among others, will offer sufficient resources for smaller sites for free, in hopes of capturing larger returns if that company scales. This largely negates the specific benefit (cost for small orgs) that you're referring to.

</comment></comment></comment><comment><USER10> > The Inter-Planetary Name System (IPNS), our system for creating mutable > links for content addresses, now provides faster naming lookups and has a > new experimental pubsub transport to speed up record distribution. Providing > an IPNS record is now 30-40x faster in 1K node network simulations!

IPNS performance was abysmal last time I tried to use ipfs (took > 30 seconds a fair amount of the time). Curious to see what it's like now.

<comment><USER11> The ping from Earth to Mars varies between 360 and 2600 seconds, so 30 might still be fast enough for an "interplanetary" thing.

<comment><USER12> Doesn't IPFS still rely on Kademlia?

Since node IDs are random, node lookup may require multiple interplanetary hops, no?

For instance, from N1 on Earth to the nearest XORwise node in its routing table which might be N2 on Mars, whose routing table finds the target node N3 on Earth.

<comment><USER13> We do use Kademlia - but note this release actually runs 2 DHTs - one for LAN connections and one for WAN connections. You could easily imagine a small Mars outpost as the LAN DHT where you can do fast retrieval for all content already available locally without hitting interplanetary lookup times.

[https://docs-beta.ipfs.io/recent-releases/go- ipfs-0-5/featur...](https://docs-beta.ipfs.io/recent-releases/go- ipfs-0-5/features/#improved-dht)

<comment><USER14> What are your plans WRT Coral? I noticed there's a work-in-progress Go implementation. Is it going to supercede Kademlia eventually?

<comment><USER15> Yeah, thats roughly the idea. We can evolve the current DHT into something coral-like, or if something better comes along, we will use that.

</comment></comment></comment></comment></comment></comment><comment><USER16> This uses DHTs. How resilient is it against Sybil attacks? Also how does it work under global netsplit conditions, like if someone borks or attacks BGP in such a way that 1/3 of the world is not reachable?

My impression is that DHTs fall down pretty hard under the latter scenario and are also pretty vulnerable to the Sybil scenario if the attacker has enough resources to mount a really serious attack. They're okay for low-value simple stuff that doesn't have much of an intrinsic bounty attached to it (like BitTorrent magnets), but trying to put a "decentralized web" on top of a DHT seems like a scenario where the instant it becomes popular it will get completely shredded for profit (spam, stealing Bitcoin, etc.).

My rule of thumb is that anything designed for serious or large scale use (in other words that might get popular) needs to be built to withstand either a "nation state level attacker" threat model or a "Zerg rush of hundreds of thousands of profit motivated black hats" threat model. The Internet today is a war zone because today you can make money and gain power (e.g. by influencing elections) by messing with it.

<comment><AUTHOR> For BGP partitions / Significant network outage conditions: You may not find content partitioned on the other side of a netsplit from you, but the degraded condition is that you can still query and find content present in the same part of the network as you. This is better than centralized solutions face at present - e.g. google not being available in China, and isn't too far off from what you might hope.

For Sybils: You've left the attack you're worried about pretty vague. IPFS itself doesn't need to tackle many of the sybil-related issues by being content addressable (so only worrying about availability - not integrity) and not being a discovery platform - so not worrying about spam / influence. For the remaining degradation attacks - someone overwhelming the DHT with misbehaving nodes - there's been a bunch of work in this release looking at how to score peers and figure out which ones aren't worth keeping in the DHT.

<comment> jude- > You may not find content partitioned on the other side of a netsplit from > you, but the degraded condition is that you can still query and find content > present in the same part of the network as you.

This becomes hugely problematic the minute you start using IPNS. On one side of the split, the name `foo` can resolve to `bar`, but on the other side, it resolves to `baz`. If you're trying to impersonate someone, then a netsplit would make it easy for you to do so (barring an out-of-band content authentication protocol, of course).

> You've left the attack you're worried about pretty vague. IPFS itself > doesn't need to tackle many of the sybil-related issues by being content > addressable (so only worrying about availability - not integrity) and not > being a discovery platform - so not worrying about spam / influence.

On the contrary, a Sybil node operator can censor arbitrary content in a DHT by inserting their own nodes into the network that are all "closer" to the targeted key range in the key space than the honest nodes. This can be done by crawling the DHT, identifying the honest nodes that route to the targeted key range, and generating node IDs that correspond to key ranges closer than them. Honest nodes will (correctly) proceed to direct lookup requests to the attacker nodes, thereby leading to content censorship.

Honest nodes can employ countermeasures to probe the network in order to try and see if/when this is happening, but an attacker node can be adapted to behave like an honest node when another honest node is talking to it.

> For the remaining degradation attacks - someone overwhelming the DHT with > misbehaving nodes - there's been a bunch of work in this release looking at > how to score peers and figure out which ones aren't worth keeping in the > DHT.

Sure, and while this is a good thing, it's ultimately an arms race between the IPFS developers and network attackers who can fool the automated countermeasures. I'm not confident in its long-term ability to fend off attacks on the routing system.

<comment><AUTHOR> Censorship / availability is the issue. As you lay out, Sybils can be used to target a specific address / piece of content in an attempt to prevent it from being found. The good news is that there are some pretty mechanical things - like maintaining a consensus of known-trusted nodes that can be used to validate a node/piece of content isn't under attack - that should be sufficient until IFPS is quite a bit larger than it is today

I don't think I see the impersonation / bad resolution problem though. IPNS records are content addressed to the key. Having control of a portion of the network isn't sufficient to compromise that (you can prevent availability though).

<comment> jude- > The good news is that there are some pretty mechanical things - <USER2> > maintaining a consensus of known-trusted nodes that can be used to validate > a node/piece of content isn't under attack - that should be sufficient until > IFPS is quite a bit larger than it is today

What would I be trusting the nodes for? If I'm trusting them to just keep my data available, then why not just put it into S3? What role is IPFS playing at all, then, if I find myself having to pick trusted nodes to defend against low-cost route-censorship attacks?

Also, the size of the network doesn't really seem to make large DHTs resilient to Sybils. BitTorrent in 2010 had over 2 million peers [1], but north of 300,000 of them were Sybils [2]. That's pretty bad.

> I don't think I see the impersonation / bad resolution problem though. IPNS > records are content addressed to the key. Having control of a portion of the > network isn't sufficient to compromise that (you can prevent availability > though).

Correct me if I'm wrong, but IPNS resolves a human-readable name to a content hash, right? If all I'm going off of is the name and the DHT (no DNS), then having a network that can return two (or more!) different content addresses for that name can lead to problems for users, no? If IPNS/IPFS is supposed to be a hypermedia protocol bent on replacing HTTP/DNS, then its inability to handle the case where `google.com` can resolve to either the legitimate Google or a phishing website sounds like a showstopping design flaw that just begging to be abused.

[1] [https://www.cs.helsinki.fi/u/jakangas/MLDHT/](https://www.cs.helsinki.fi/u/jakangas/MLDHT/)

[2] [https://nymity.ch/sybilhunting/pdf/Wang2012a.pdf](https://nymity.ch/sybilhunting/pdf/Wang2012a.pdf)

<comment><USER17> IPNS names are based on public keys. A sybil attack can't make an IPNS name resolve to an arbitrary attacker-chosen value because the attacker can't make signatures for the public key.

A sybil attack could be used to cause part of the network to see a recent old value for an IPNS name, but clients keeping recent values cached for a while is already something that happens naturally, so it just seems like a more minor example of the general problem that a sybil attack could do a denial-of- service.

</comment></comment></comment></comment></comment></comment><comment><USER18> I run [https://www.eternum.io/](https://www.eternum.io/) (an IPFS pinning service) and created Hearth ([https://hearth.eternum.io/](https://hearth.eternum.io/), a Dropbox-like way to publish files on IPFS), and this is a very welcome release.

IPFS has been a real pain to work with in the past (the node would just consume all RAM and CPU and had to be restarted a lot), but it's been getting better, which is great to see.

I really hope it gets good enough to run on everyone's desktop machine, since that's the way IPFS is meant to be deployed (rather than just on gateways). It seems that it doesn't take up too much RAM or CPU now, but it looks like it might be a problem bandwidth-wise, if you host some popular content.

Still, great news overall.

</comment><comment><USER19> Here is a summary of IPFS white paper [http://muratbuffalo.blogspot.com/2018/02/paper-review- ipfs-c...](http://muratbuffalo.blogspot.com/2018/02/paper-review-ipfs-content- addressed.html)

The improvements announced are substantial.

<comment><USER20> You mean TRON /s

Edit : makin jokes about plagiarism people.

</comment></comment><comment><USER21> IPFS is really just a mix of a torrent tracker with a torrent client, but once IPFS VMs start paying for themselves, people will sign-up in masses. I guess that's what Filecoin is about.

Edit: The way I see filecoin working is anyone can post a reward for a file and once the file is provided, the reward is paid. In other words, it's bit like a brokerage that connects downloaders with uploaders. The difficultly is that this brokerage needs to be distributed and resilient.

<comment><USER22> I am yet to write more about this, but one thing that bothers me with Filecoin: the economics don't add up. The price per GB stored will tend to reach an equilibrium around the commodity price - i.e, costs of disks+computers+electricity+internet. Unless I am missing something, if the price gets higher, more people would buy disks and put them online, bringing the price down.

If that is true, it means that a node can only be profitable if you are freeloading. And if you are freeloading, any price you get will be good which means that it tends to go even further down, perhaps even below the commodity cost. I may be missing something, but I really don't see this going beyond techies with spare disks playing around and definitely no way to run a Filecoin node on a VPS profitably.

<comment><USER17> If there's enough enthusiasts using spare disks at home to offer enough disk capacity for everyone, then that means Filecoin hosting will be available cheaper than cloud hosts. If all that capacity gets used up, then supply and demand will cause the price to go up until more people add capacity. If the price hits the price of cloud hosts, then people will just run tons of Filecoin nodes on cloud hosts, so the price of cloud hosting will be the upper bound on Filecoin hosting prices. Then anyone that can undercut the cloud hosts will be free to run their own Filecoin nodes, and the price will be pushed down as people do this.

<comment><USER23> > If there's enough enthusiasts using spare disks at home to offer enough disk > capacity for everyone, then that means Filecoin hosting will be available > cheaper than cloud hosts.

Only if these enthusiasts are willing to take a loss on power.

> If the price hits the price of cloud hosts, then people will just run tons > of Filecoin nodes on cloud hosts

Or the cloud hosts themselves will enter the market. The upper bound on the market will be their costs, which will always be lower than the costs of enthusiasts using spare disks at home.

<comment><USER24> > Only if these enthusiasts are willing to take a loss on power.

An 8TB HDD doesn't use more power than a 100GB one.

<comment><USER23> > An 8TB HDD doesn't use more power than a 100GB one.

But access to it by third parties does, it changes the usage model and increases your electricity costs. This may not be a lot _but it doesn 't have to be a lot_ to make your costs more than those of a datacentre operator, not to mention you also need to be online all the time.

The dream of edge-node storage utilisation has never survived in the face of economic analysis.

</comment></comment></comment></comment></comment></comment><comment><USER25> TL;DR to skip the glossy page.

> The primary focus of this release was on improving content routing. That is, > advertising and finding content. To that end, this release heavily focuses > on improving the DHT.

> A secondary focus in this release was improving content transfer, our data > exchange protocols

Other improvements to data store, libp2p, etc.

source: [https://github.com/ipfs/go- ipfs/blob/master/CHANGELOG.md](https://github.com/ipfs/go- ipfs/blob/master/CHANGELOG.md)

</comment><comment><USER26> >> Opera became the first major web browser to offer default IPFS support on Android, shortly after Brave started directly embedding the IPFS Companion extension (complete with a built-in js-ipfs node). This means millions of people around the world now have access to the decentralized web built directly into their browsers.

Wow. Thank you IPFS community.

<comment><USER18> I believe Opera only redirects to a gateway and doesn't implement IPFS itself, though, which is rather less exciting.

</comment></comment><comment><USER27> IPFS need a way to get paid for a block over a period of time. Does not need to be real money just token you can use later to pay for your file to be seeded.

Basically I host your file and you host my file. With some algorithm to make sure number of seeder for each block never go to 0

<comment><USER13> Check out Filecoin ([https://filecoin.io](https://filecoin.io)) - token for buying/selling file storage for IPFS data. You can earn tokens for renting out your disk space and use them to purchase backup/hosting from others.

</comment></comment><comment><USER28> Can someone provide an example of a service that ipfs enables that can't be provided on the regular web?

<comment><USER18> You can publish static content that doesn't go down when the server goes down and scales on its own as the content becomes more popular. It also has hashing built-in, so you can be sure the content you got is what you wanted,

Things like distribution of apt packages becomes much more exciting when each computer can choose to redistribute the packages it got to others in the LAN or area, even offline.

It's also very interesting to me how all the visitors to your website become servers as well, so content can never be "hugged to death" or links can never go stale, as long as at least one person has the content somewhere on their node.

That, to me, is huge, as links now go stale with some regularity. Think of all the Geocities sites (and all versions of them) just existing for ever, regardless if Geocities decided to shut down.

For example, here's my site on IPFS:

[https://ipfs.eternum.io/ipfs/QmVW6JejQkjLnBJacR8qcZi88WNTMwi...](https://ipfs.eternum.io/ipfs/QmVW6JejQkjLnBJacR8qcZi88WNTMwiBwNDMCFDzijtGAw/)

That can now "never" be lost, as long as someone cares enough about it to visit.

<comment><USER28> That's "how it works", not "what it can be used for". Regular websites can be designed to handle high traffic. Regular websites can make backups.

What new thing does ipfs make possible that would make users install the software to use it?

<comment><USER18> Nothing has any advantage except the advantages it has. I don't want to repeat everything I said in the last post, but what you mentioned isn't a counterargument to any of what I detailed.

<comment><USER28> If you're not going to answer a question, don't bother replying.

<comment><USER18> > Regular websites can be designed to handle high traffic

IPFS lets them not have to.

> Regular websites can make backups

Backups don't help when the company shuts down and takes the site down.

> What new thing does ipfs make possible that would make users install the > software to use it?

"Think of all the Geocities sites (and all versions of them) just existing for ever, regardless if Geocities decided to shut down."

I don't think you even read my post.

<comment><USER28> Again. If you're not going to bother to answer the specific question I asked, do not bother replying.

END OF CONVERSATION

<comment><USER18> It looks like you aren't even reading my replies. I feel lonely.

OVER.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER29> I think IPFS is a great technology, and the protocol appears to be fairly well designed but to be frank, I tried to use go-ipfs and it is a very junky implementation. There are numerous issues that show an overall lack of good quality standards in the codebase.

\- Pin management is far to simple for any real use case.

\- GC is a complete GC on an arbitrary threshold.

\- API is based on the CLI and really weird (ex GET /api/v0/cp?arg={src}&arg={dest}, why don't the parameters have names? Why is it GET?)

\- They don't prove a way to upload a directory with references to existing IPFS objects, so you need to manually encode the data.

\- The manual encoding uses go-style names, they seem to have let their language choice leak into the protocol.

\- Lots of minor issues, such as the API implementing block size limits by simply cutting off the input data at the size limit, this is even before encoding it into the format where the size limit should be calculated and cause data corruption in some cases.

\- Their one abstract API for creating directories (MFS) has a number of issues.

      - It is incredibly slow for some reason.

      - It kindof but not really automatically pins all content recursively references.

There are other weird choicess such as their directory sharding using hashing. It isn't clear to me which use case this improves over a btree but someone probably thought it sounded cooler. Additionally the sharding appears to be a single layer of sharding which means that it still has a size limit (just larger).

I ended up sinking a ton of time into [https://gitlab.com/kevincox/archlinux- ipfs-mirror/](https://gitlab.com/kevincox/archlinux-ipfs-mirror/) and in the end the number of small quirks were incredibly frustrating. I might go back and implement their hash-sharding logic to get the mirror working again but at this point I don't really want to interact with go-ipfs again.

I thought it would be an interesting project to get involved in, and I have a lot of expertise that would be valuable however it appears that it is all a bit of a mess which is a real shame.

Maybe with more success it can be re-written in cleaner fashion, as I said most of the issues are with the implementation not the protocol so there is definitely hope. I do honestly wish all of the success to the project.

</comment><comment> lachlan-sneff I wish they hadn't picked go. Go isn't a bad language really, but it's a huge pain to integrate a go library into an app written in another language.

<comment><USER30> C or Rust would be perfect. No GC runtime, no name mangling, fast, great ffi story.

Rust needs to start edging out Go for new tools. Kubernetes, Envoy, IPFS, etc. would have benefitted from it.

It might not have been time four years ago, but it's time now.

<comment><USER31> Rust will start edging out Go once Rust becomes easier than Go to prototype/start projects.

Rust is a great language, but right now I can start a project in Go and have someone else start a project in Go and have something up and working in a week. Rust still takes significantly longer to learn and/or find skilled developers for. Go is up there with Python in terms of "Get something out _now_ ".

<comment><USER32> Rust isn't that difficult to prototype or start projects with? What trouble do you run into? I think the hardest parts to understand are the concepts of borrowing, lifetimes, and ownership, but you don't have to know all the subtleties of that to prototype. A basic understanding is fine to get started with. Just like a developer doesn't have to understand all the subtleties of generics to get started with either, lots of devs don't know what covariant or contravariant means and use generics.

<comment><USER33> Understanding the concepts is one thing, applying them is another thing entirely. The Rust compiler is an incredibly difficult beast to placate.

<comment><USER34> Especially in prototyping you can mostly .clone() everything, and stop worrying about any lifetime problems.

<comment><USER33> Lots of deferred pain for when you productionize.

<comment><USER34> Yes, but this was on the topic of "is Rust suited for prototyping?", and I would say that cloning makes it much more suited, as it sidesteps a lot of the lifetime pains. You will have similar deferred pain if you e.g. prototype something in JS and then when it's time to move to production gradually move it to Typescript.

From personal experience of Rust projects in production, you can get by with cloning for a long time, and optimizing later is not too big of a pain in most cases. Performance problems due to excessive cloning are also very obvious in code and easy to profile for.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER35> Hold up... You can pull docker images from ipfs? How?

And do IPNS entries finally last more than 30 seconds? It would be nice to not have to constantly keep a node up just to have an IPNS entry.

<comment><USER13> IPNS records still have a default 24hr lifetime, but republishing your IPNS records is now much MUCH faster, so it should be much cheaper to run a process to republish these regularly. I assume you can also bump up your lifetime to >24hr if you want - but note that will mean nodes not using pubsub (aka getting updates pushed to them proactively) might be slow to get new updates.

Here's what's new for IPNS in the release: [https://github.com/ipfs/go- ipfs/blob/master/CHANGELOG.md#ipn...](https://github.com/ipfs/go- ipfs/blob/master/CHANGELOG.md#ipns)

</comment></comment><comment><USER36> I really wish there was a C/C++ implementation of IPFS that could be dropped in to a Linux, Windows, MacOS, or iOS cross platform app.

I already ported the Go code to iOS once, and it wasn't that painful, but functionally it would be a lot more useful as a C++ code base. I don't build browser apps - I feel there is still a need for native apps especially in this particular space.

</comment><comment><USER37> I was impressed to read that the IPFS public network scaled 30X in 2019. It sounds like they have gotten over a big hump for usability and utility.

</comment><comment><USER38> anyone know good python ipfs resources + decentralized sync-able embedded databases ?

<comment><USER13> orbitdb is a distributed database built on IPFS - looks like they have a python http client: [https://github.com/orbitdb/py-orbit-db-http- client](https://github.com/orbitdb/py-orbit-db-http-client)

the py-ipfs-http-client library is also actively maintained (but I think needs some small changes to work with IPFS 0.5): [https://github](https://github) .com/ipfs-shipyard/py-ipfs-http-client/

</comment></comment><comment><USER14> I have a Go project that imports IPFS and libp2p libraries. What's the recommended way of upgrading those dependencies?

<comment><AUTHOR> The release notes contain a pretty extensive list of what APIs have changed.

The path to upgrade the dependencies is probably to run `go get -u <dep>` for the direct dependencies you're including, and then fixing errors that pop up from doing so.

<comment><USER39> Depends what exactly you are importing and for what. I suggest you ask in the forums and post a link to your project. go get -u is dangerous as it updates all subdependencies used to latest.

Usually take go-ipfs's go.mod as a guide on what versions to use.

<comment><USER14> >go get -u is dangerous as it updates all subdependencies used to latest

Yes, this is the problem I initially had; I would end up with a host of incompatible deps (leading me to wonder what the point of go.mod even was ... but I digress...).

Sounds like this is going to be one of those super fun dependency hack-jobs :C

Ah well, this is the price to pay for playing with beta software!</comment></comment></comment></comment>


New Design for FB Messenger on Android - <AUTHOR> http://newsroom.fb.com/News/A-New-Design-for-Messenger-1bb.aspx

<comment><AUTHOR> Also updates for iOS6: <http://itunes.apple.com/app/facebook/id284882215?mt=8></comment>


There's no speed limit. (The lessons that changed my life.) - <AUTHOR> http://sivers.org/kimo <comment><USER2> I learned a similar lesson in college. My university had a little-known program called the Bachelor of University Studies. Given that you could get a faculty advisor and independent committee to sign off on it, you could patch together your own degree from the courses offered in any of the colleges. The idea was to encourage students to create an inter-disciplinary course. They took care not let anyone who'd just changed majors 10 times to graduate with a BUS.

By combining courses from the Architecture, Film, and CS departments, I created a 'Digital Media' degree which doubled my salary in the graphic design department I was working in at the time. (My responsibilities stayed exactly the same). Since then no potential employer has asked about it, but it set the precedent for paying me more money.

Lessons learned: 1) You don't have to follow the same path as everyone else. 2) For plenty of places, the fact that you have the paper means more that what's printed on it.

</comment><comment><USER3> This is inspiring, and it reminds me of an incident in my life. I went to Union Station with a friend to catch trains home for Christmas during my freshman year in college. He was going to Iowa, I was going out west. His train was six hours before mine, so I went along, as the school was pretty much closed down by that point anyway. I took a book along that was the text for the second quarter--Introduction to FORTRAN (yes, all caps those days). I think it was by McCracken. By the time the train had left, I had consumed the entire book and was ready to program. My career has never looked back from that time.

That is what I like about this community as well. There are no artificial barriers to learning or to getting anything done. You don't need credentials or permission. It is in your hands.

<comment><USER4> _That is what I like about this community as well. There are no artificial barriers to learning or to getting anything done._

Actually I think the barriers are still high. People are still hung up on credentials, and a team of startup founders from Harvard or Stanford always gets free publicity from the media and probably more investors as well.

<comment><USER5> Matt Mullenwegg is a University of Houston dropout. Steve Jobs went to Reed College.

Traction solves all other problems. Make something people _use_.

<comment><USER4> But can you honestly say that something like Facebook would have gained the critical mass it had without essentially starting out as an Ivy league "Myspace" in an era dominated by Myspace and Friendster?

<comment><USER6> I don't see how that is relevant. You need to identify a target seed market at first. In Facebook's case, academia at Harvard was a good choice. I don't see a good reason why any of them had to go to Harvard to do that.

<comment><USER4> _I don't see a good reason why any of them had to go to Harvard to do that._

I truly doubt Zuckerberg would have been able to convince people from Harvard to use Facebook back in it's inception without being from Harvard himself. Harvard is a seed market because it's Harvard. Podunk state college is not a seed market because people back then would rather have used one of the better existing solutions such as Friendster back then.

The _only reason_ that I and many others joined back then was because of it's exclusivity. We would have used Friendster, Livejournal, or maybe even joined Myspace for the sake of a superior product.I am quite confident that Facebook would have died in it's infancy had it been created in some state college.

The whole exclusivity in the beginning was the sole reason that it was able to make it this far.

<comment><USER6> Well what if they launched somewhere else that was exclusive? Nothing pops to the top of my head I'll admit, but I haven't thought about it very long. There seem to be three key ingredients for the initial launch: exclusive, young/technically savy, and prestigious. LinkedIn is doing fine working with business professionals, although they have the benefit of people already understanding what a social networking site is.

</comment></comment></comment></comment></comment></comment></comment><comment><USER7> Isn't that how people get through college? Three all nighters per semester + three months of doing nothing. Just remove the part where you're doing nothing, and suddenly you can get so much more done in life :)

<comment><USER8> Sometimes the "doing nothing" part is required for your incredibly productive three all-nighters.

So may be 3months/3days is a little off balance, but you _do_ need downtime.

Not to mention, those 3 months aren't necessarily wasted doing _nothing_ \- just different things. I did this through my mechanical engineering degree in college, and spent the rest of the time hacking on code... guess that paid off :P

<comment><USER9> Hey I see you go to UW. Are you familiar with Velocity?

<comment><USER8> Yes, I was one of its inaugural residents... it was an interesting experience, but ultimately somewhat wasted. I sincerely hope they've improved some of the basic problems since then.

<comment><USER9> Ya, I was a resident in the 2nd term of its existence, and will be again this spring. My first term's stay wasn't very impressive: the way it was run, the scope of the projects (except ours of course :P). They are taking major steps to improve it now though, with a new management.

<comment><USER8> My major beef was the lack of talent - a similar situation to back when I did game mods: some "alphas" shopping around for cofounders/sidekicks, and not too many sidekicks to go around.

The vast majority of the people I met while I was there were simply were not seasoned enough to tackle anything of considerable scope. Yeah, they were technically coders, but most had little experience outside of their CS courses and maybe a little bit of extra hackery on the side. Someone who was fluent in HTML, CSS, JS, and, say, PHP, was practically non-existent... and the ones who were there were the aforementioned "alphas", who were more interested in shopping for cofounders on _their_ project than joining someone else's. In short, Velocity was 10% seasoned coders looking for partners (and not finding any), and 90% dreamers with no significant talent or experience to contribute to anyone's project. I'm making this sound very harsh, but I was very disappointed in the calibre of people they were able to recruit.

In a startup environment, especially one that's operating purely as a small team of founders, you cannot have "the Java guy", everyone has to wear a large number of hats - and this talent pool simply did not exist in Velocity.

I can't help but think the whole concept a dormitory-as-incubator is somewhat misguided. IMHO it would be much better served for everyone to simply have a streamlined collaboration system where entrepreneurially-minded people can find each other, and to provide basic resources (how 'bout some servers instead of flashy phones?) to help them get there. Think JobMine, but for student projects.

Oh, and one more thing: Waterloo is a town filled with tech startups, yet Velocity's only backers seem to be large corporations. This is unproductive - you don't need talks by big-company VPs about how they admire our spirit and independence... we need talks by startup guys who are in the thick of it themselves.

<comment><USER9> Totally agree on your first point. Not only is technical talent lacking, it's filled with a lot of dreamers. In the end, very few people have what it takes to put in the hours ontop of their workload. I understand this is tough, esp. for engineers (being in compeng myself), but in the end, if you want it enough, you'll do it.

As far as the big corps vs local startups go, new Velocity management seems to be taking big steps towards fixing it.

Honestly, Velocity as it is right now, is just a convenient place for my existing team to collaborate. I don't really have any expectations of picking up new people since they're 1 in 1000 at Waterloo.

Net net tho, things are improving and I look forward to people playing rockband less and actually doing something useful :P

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> When I was younger, I used to look down on musicians. I saw what they were doing as not being on the same level as being an engineer, because engineers were more clever than them. I figured they were born with some talent, and all they had to do is play their instrument.

Now, I realise that they practise more than I do. It's even tougher for them, because there is no easy way to judge how much better they have become. And they have to do all that they do with people constantly judging them.

Engineers, scientists, mathematicians - we have it real easy. Our talent is an easy one to develop, it's an easy to make money from, and it's easy to get good. Artists & Musicians who manage to be successful have achieved a lot more than engineers who manage to become successful.

<comment><USER11> My favorite band--Dream Theater--was formed at Berklee College between three ambitious instrumentalists. Two of them, John Petrucci and John Myung, spent their high school days fanatically devoted to practice (before applying to Berklee together). During that time they had an agreement with each other to practice their respective instruments six hours a day, and if they hung out in the evening it was with the understanding that they'd finished their six hours practice.

Like Derek, John and John finished their Berklee education early, but in their case it was by recruiting the rest of their band and dropping out to get started. That was in 1985. Their first major commercial success (in the sense that applies to progressive metal bands with cult followings) was 1992's Images and Words.

<comment><USER12> > Two of them, John Petrucci and John Myung, spent their high school days > fanatically devoted to practice (before applying to Berklee together). > During that time they had an agreement with each other to practice their > respective instruments six hours a day, and if they hung out in the evening > it was with the understanding that they'd finished their six hours practice.

Source? (Not that I doubt what you're saying. I want to read more from where that came from)

<comment><USER11> It's on Wikipedia, but they also mention in it a lot of their documentaries and stuff, like on their live DVD's where there's usually a disc 2 about it.

<comment><USER12> thanks.

</comment></comment></comment></comment></comment><comment><USER13> YES!

That's really all I can say. I agree with this _so much_. (Wow, I'm articulate!) I just wish it were easier to do.

Personal story: I'm in high school right now. Many of the courses I'm taking are very... high-school-y. Low on content and high on busy-work and hand- waving. Some, though, I find are actually well taught; namely, my Statistics course and my Multivariable Calculus/DiffEq course. The teacher for the Stat course posted all the homework he plans to assign (all out of the book) online; while the teacher for Multivariable hasn't done that, he assigns the same homework every year, so I managed to get his homework from previous students. Currently, I'm done with my statistics course and 3/4 through the multivariable course, where both of them should be full-year courses. It just feels amazing to be learning at my own pace - the class speed in high school (and, I guess, college, and perhaps life) is catering to the lowest denominator. I know that I, and many of my classmates, could easily double or in some cases triple that speed.

<comment><USER14> The danger you face, and I speak from experience here, is that because you get such good results from studying math, you neglect other things like learning about history and developing social skills. You probably can't make progress 2-3x as fast as normal people there. So concentrate on your strengths, but don't neglect the other stuff. And please consider applying to Y Combinator and starting a startup when the time is right.

</comment></comment><comment><USER15> My reaction seems to be less enthusiastic than most people's. I think that if you can graduate in two years, you should have gone to a school that was more challenging to you.

This is probably a result of my own college experiences. I coasted through high school pretty easily (eg, doing tomorrow's calculus homework in class while it was still being explained). Then I went to a pretty good college, with a bunch of other people who were skilled enough to coast through college.

I got my ass handed to me. We all got our collective ass handed to us. It was humbling. It was also glorious. A year-long back-of-the-room calculus class was turned into a very engaging first 2/3 of a half-semester calculus class. Then, a year's worth of math at that pace was compressed again into six weeks of summer school thick enough to kill a man. I didn't put in extra effort learning beyond my classes, because the classes themselves kept me up til four in the morning.[1]

So, in short, I agree with the title of the post, you should be learning/acting at your level, not below it. However, I disagree with the main corollary of the post, which is that school is insufficient to reach that level, and you should buck the system because it's not good enough. There are schools good enough. I think it's better to find the appropriate system than to buck a normal one, because you have a much more support.[2] Slamming through four math courses in a month is a lot easier when you have four professors and a dozen peers who are all on the same page as you. You also happen to learn a lot about teamwork and collaboration that you might not by going solo.

[1] Which is not to say that every waking second was spent working; I covered 6 seasons of Deep Space Nine and 4 seasons of Babylon 5 in a year. Rest is more important than sleep.

[2] The better support is also self-reinforcing of the quality of the peers. If there are students performing below the bar, a school that can raise those students up doesn't have as great a need to lower the bar for them.

<comment><USER16> FYI he went to the Berklee school of music. There isn't a better music school in the country. (Other subjects it is mediocre to non-existent in. Musically it is top notch.)

<comment><USER4> What about Juilliard?

<comment><USER17> As I understand it Julliard's got more of a classical emphasis, whereas Berklee's likely a better choice for someone aiming to be involved with rock, jazz, etc.

</comment></comment></comment></comment><comment><USER18> Maybe someone as a musician can enlighten me, but I always have so much trouble doing rote scale at every guitar fret position, arpeggio, memorize- these-chords exercises.

I always hear two sides of the argument that a) a la Mr.Sivers, oh you need to learn how to play fast, memorize all of these scale/chord patterns, and every single guitar-player style from Blues to Jazz to Folk to Pop, or b) you shouldn't worry too much about playing or learning too fast, but concentrate on the music; enjoy yourself, find your own style and get in the zone and slowly you'll understand how to improvise, compose and tab by immersion rather than memorizing patterns. (Because if you try to learn or play too fast, you get frustrated quickly that you aren't doing well and concentrate too much on the mechanics of note perfection that it affects your performance). Some books I read recommend daily practice sessions of only 20 minutes per day, but consistent daily practice.

I'm sure I'm painting a totally false dilemma but curious as to how some of the pro musicians out there takes are.

EDIT: Since we are on a programming forum and I assume that the advice is geared towards developing for startups, IMO, the best way to learn how to program is to learn by working on your own project and ruthlessly plagiarizing off of other people's open-source code base. Because you are motivated to finish the project because it's something that motivates you and you are forced to look deep down into the stacks because you almost always have to customize/hack 3rd party code to do something your way.

<comment><USER19> Not a pro (have moderate technical chops, but not the temperament), but here's my 2c:

Scales and chords aren't patterns per se -- they're the fundamental building blocks. They're the equivalent of syntax in a language. Not knowing them well is like having to think about where the semicolons and/or braces go when you're writing a for loop. Being familiar with chords/scales allows you to think about music at a higher abstraction level.

You can make exercises less boring (and more effective) by varying the way you play them. Vary the rhythm you play (triplets, etc), switch between legato/staccato, and so on.

The Deep Practice section of The Talent Code ([http://www.amazon.com/Talent- Code-Greatness-Born-Grown/dp/05...](http://www.amazon.com/Talent-Code- Greatness-Born-Grown/dp/055380684X)) may provide more inspiration for how to practice effectively.

<comment><USER18> Thanks for your advice and the link to the book.

</comment></comment></comment><comment><USER16> Heh. This reminds me of my real analysis course.

The first day of class he handed out our coursework for the semester. I asked if it was OK to hand in homework early. He said it was. The next class I handed in the first 3 days of homework. The following I handed in 3 more. The third class I said there didn't seem to be much point in my being there, did he mind if I just handed in the homework?

A few weeks later when I walked into another course I was taking with a lot of the same people a lot of them started congratulating me. I was puzzled. They explained that one had asked whether I was dropping the class since I hadn't been going and so they heard that I was actually taking the final exam that day.

I did the follow-up course the following month. :-)

Another time I taught my brother the basics of differential calculus in about half an hour or so. Well enough that he was able to go into a course that had that as a prerequisite and he managed to ace that course.

So yes, the difference between what we are asked to do and what we can do is pretty large.

</comment><comment><USER20> Reminds me of Mike Cassidy's: Speed as THE primary business strategy <http://venturehacks.com/articles/speed>

<comment><USER21> Wow, neck-breaking pace there. Alas reading about it doesn't help become like this. Ideas?

<comment><USER22> Stop reading about it, start doing it. You already know how.

I try to remind myself constantly that the icons of business and technology that I use as examples of extreme success probably don't spend much time on social networks.

HN is the last one that I frequent, and I've been cutting back my activity here too.

</comment></comment></comment><comment><USER23> I think it's not just pace that is important. Sure we have brilliant people who could do good by going faster, but with the advent of the internet and libraries, there's not much stopping them. Let's not forget about the majority of regular people who aren't getting a good value from the school system.

I would argue that most high school students find their studies meaningless, but not because they are bored by the triviality. They think it's meaningless because they don't comprehend the practicality of it all. They get stuff just to get it done, to avoid getting spanked for bad grades, or to satisfy their ego. So our school system shoves these topics down the students, with the hope that shoving hard enough and enough times will do the trick. But from personal experience, I've found that when I revisit something that I once learned, I usually look it up in reference either from the internet or from a book. The interesting difference is that this time, when I truly _comprehend_ the importance or relevance of it all, I learn it in much less time.

Teaching kids what they aren't ready to learn yet is inefficient. Standardized pace, rigid curriculum impede students from learning what they want, and at their own pace (which will probably always be faster than the standard pace if the student is interested).

This problem extends into university education. I think all students should learn like that, at their own pace, and take some evaluation, not necessarily a test (I have ADHD, so I'm biased against tests), at the end. Then we can have quantifiable knowledge without forcing students to go through a rigid curriculum at a set pace. This hopefully would also mean no more banking on getting into good universities, rejections, and entrance exams determining education worthiness. Education would truly be open and accessible to all.

</comment><comment><USER24> Derek Sivers has single handedly changed my opinion about musicians. Not that I know many musicians. As an engineer, I was under the impression that musicians are lazy bunch leading not so responsible life styles. But reading couple of blog posts of Derek changed it all.My respect to Derek.

</comment><comment><USER25> I have zero interest in being an (over)achiever, driven, etc. And I think that's fine / there's nothing wrong with me. I also don't think there's anything wrong with people who are (over)achievers __unless __they feel achieving is "better" and view themselves (and others) as failures unless they have (over)achieved.

Spending 2.5 years finishing college and 1.5 years doing something else is no better/worse then spending 4 years finishing college. It only matters that you lived a good life during those four years. I believe "There's no speed limit" is bad general advice. It's good for the driven overachiever types, which I believe are a niche. But for most people it focuses them excessively on future payoffs and makes them miserable when the don't/can't overachieve.

It's the difference between working all the time so one day you can own your very own rosegarden(and likely never do) and taking the time to stop and smell the roses today.

</comment><comment><USER26> Agree with this 100%. People will often rise to the level of expectations of people around them.

This is very useful when it comes to management, and a great way to encourage someone to grow and develop : expect a lot from someone, and find a way to communicate that you're completely confident they can achieve those expectations.

<comment><USER27> @jason_tko ... ya.. it is CRITICAL that we stick and learn with the Best... and compete.

</comment></comment><comment><USER28> I think you could take the lessons outlined in this post even further. For some people, college itself is an unnecessary step. Nearly everyone I know has been groomed to pass high-school then pass college then get-a-job. I think that skipping any step that isn't necessary to your own goals will help you get where you want to be a lot quicker. The fewer distractions the better.

</comment><comment><USER29> I learned and somehow forgot this lesson in my journey through the public school system. And that is not an indictment of the system per se, but the effect I allowed it to have on my development.

Any one seeking to master any field should go through the litmus test that experience provided him as early and often as possible. No parallel to learning at the hand of an accomplished practitioner.

</comment><comment><USER30> What about those of us incapable of the speed?

<comment><USER31> You are so totally screwed.

But seriously. Maybe the message would then be: there is no curfew.

</comment></comment><comment><USER32> I also got through college in 2 years and graduated from Georgia Tech when I was 20. Sometimes, however, I wonder whether I would have retained more of what I learned had I kept a slower pace.

</comment><comment><USER33> Sort of sounds like New School of Florida, as described to me by an alumni. People design their own coursework for the semester and regularly meet with an adviser.

</comment><comment><USER34> Great story. It's also interesting that most popular music is made by people who don't know squat about music theory.

<comment><USER35> Performed maybe. The people _making_ it really know their craft.

Pop is hard.

(I still don't like it.)

</comment></comment><comment><USER36> What a perfect thing to read while on a break from work!

</comment><comment><USER37> > Kimo's high expectations set a new pace for me. He taught me "the standard > pace is for chumps" - that the system is designed so anyone can keep up.

If your IQ is off the charts, maybe. Try studying chemistry sometime. There the standard pace is to weed as many as you out in the first few semesters as they can. The women are the first to go.</comment>


Betacup Challenge - Design A Sustainable Coffee Cup  - <AUTHOR> http://www.thebetacup.com/

<comment><USER2> I have a hard time seeing how this is anything other than a feel-good distraction that provides little in the way of real benefits. Non-disposable coffee cups do not make up a meaningful proportion of our environmental footprint as a whole.

If there's a need to change something (such as environmental footprint) then use market mechanisms[1] to implement it.

[1] For example, if landfill needs to be reduced one could charge money based on volume/weight of rubbish collected.

<comment><AUTHOR> What's wrong with a feel-good distraction? Instead of implementing "Hello World" in 120 languages, why not tinker with papercup designs?

<comment><USER2> I don't have a problem with someone tinkering with coffee cup designs if it gives them enjoyment. I just find the pretense that it's going to make a non- negligible difference to the environment puzzling and intellectually dishonest.

 _What's wrong with a feel-good distraction? Instead of implementing "Hello World" in 120 languages, why not tinker with papercup designs?_

Why not do something actually meaningful?

There's an awesome talk by Richard Hamming on pg's website (<http://www.paulgraham.com/hamming.html>), where he recounts:

 _And I started asking, ``What are the important problems of your field?'' And after a week or so, ``What important problems are you working on?'' And after some more time I came in one day and said, ``If what you are doing is not important, and if you don't think it is going to lead to something important, why are you at Bell Labs working on it?'' I wasn't welcomed after that; I had to find somebody else to eat with!_

<comment><AUTHOR> "58 billion paper coffee cups" doesn't sound so negligible to me? Sure, it is might not be as paramount as plugging the oil spill to me, but perhaps making a small impact is better than no impact.

I just mentioned the 120 programming languages because I am sure that post would make it on HN, too.

Are you working on superimportant stuff all the time?

Also read Richard Feynman's books - he claims when he was stuck for a while, he only managed to make progress again when he started to do calculations on the rotation of thrown paper cups just for fun for a while. He later derived some quantum mechanics stuff from those paper cup equations.

</comment></comment></comment></comment><comment><USER3> My brother takes his own cups and receptacles to coffee shops and take-away joints. On more than one occasion the cardboard coffee cup / styrofoam tray was used as a measuring device, before then being thrown away, leading to much "you're missing the point" frustration.

<comment><USER4> You just have to train them! <http://www.wastedtalent.ca/comic/dear-vancouver- barristas>

<comment><USER5> One of my favorite coffee joints (at the local library} actually gives you a discount for bringing your own cup. [it also has cream instead of half-and- half]

</comment></comment></comment><comment><USER6> Clay cups work fine in India and they are sustainable <[http://chaipilgrimage.com/2008/09/14/the-indian-clay- cup/...](http://chaipilgrimage.com/2008/09/14/the-indian-clay-cup/>);

<comment><USER7> Sustainable just means "more flattering to my sense of aesthetics than the alternatives." It is highly non-obvious to me that producing paper cups is more resource intensive than producing clay cups, or that waste produced by clay cups is easier to store than waste produced by paper cups.

Clay cups, for example, require dredging up a whole lot of water and river mud, which (despite the fact that it is done inefficiently by poor people, which is apparently the working definition for "environmentally conscious" for reasons I do not pretend to understand) is not an ecologically neutral action. Scale it to Starbucks level consumption and that is an awful lot of river mud. 11 million metric tonnes, by my back of the envelope math. Plus whatever energy you use in construction of the cups, which aren't exactly carving themselves out of the mud in a carbon-neutral fashion.

This could be averted, of course, if people would simply _consume less coffee_ , but that might be a bridge too far for the latte liberals at Starbucks. I'm sure they'll find a cup which looks absolutely nothing like a paper cup, which will ostentatiously proclaim that consuming _this_ cup of coffee makes you a better person than consuming _that other_ cup of coffee, which is about 99% of the purpose of environmentalism: social signaling of moral worth among rich people for whom traditional religion holds little attraction.

<comment><AUTHOR> Maybe some other material could be found, that is less costly to produce than paper or clay. I think for paper a lot of chemicals have to be used?

Didn't McDonalds experiment with "eatable" packages? Some grain (sweetcorn?) might have the property of being easily molded into cups (think ice cream cones). Then add some wax to make it water proof? Except I suppose wax would melt from hot coffee? Also, growing corn requires water, too.

Just as an example - you don't have to treat sweetcorn with chemicals to make it moldable. Maybe a lot of properties of paper are not required for coffee cups, so a simpler material could be used.

<comment><USER8> Are you talking about PLA and the like? It's pretty much a biodegradable/compostable plastic made from corn starch or sugarcane. I've seen utensils made from it in some cafeterias. But they can make lots of things with it, here they make coffee cups: <http://www.cagreen.ca/Hot%20Cups-0>

<comment><AUTHOR> I wonder if the makers of the betacup challenge were aware of that - I suppose not...

<comment><USER8> They might still consider it "wasteful" since the same number of cups would be thrown away. But I believe they can be made with the waste products from the processing of corn or sugarcane that already happens.

</comment></comment></comment></comment></comment></comment><comment><USER9> I don't think any of these designs will help if they continue to give them away for free.

<comment><USER7> I'm absolutely flabbergasted at how effectively the supermarkets in my town changed behavior by charging for bags. Of course, it helps that they're a cartel: if any store in this neighborhood hadn't adopted the "5 yen per bag OR bring your own" on the same day, they would have done quite a bit of business.

I even bought myself a shopping bag, even though my math brain told me that I would likely have to live in Japan for at least another six years until I had recouped the $9 it cost me.

</comment></comment><comment><USER10> what wrong with people carrying their own travel mug?

<http://www.amazon.com/gp/product/B00015CMVE/>

is what i carry everywhere

<comment><USER11> I was kind of thinking the same thing. Can we submit the no-cup design, where one simply does not supply disposable cups? People would get used to bringing their own mug pretty quickly, methinks.

<comment><AUTHOR> I picture a kind of coffee fountain, where people would catch coffee with their palms, like they would from a well. Ouch.

<comment><USER11> That'd oxidize the coffee too quickly though. It'd be gas-station, burned-in- all-night coffee in 30 minutes.

Wounds heal. Good coffee is forever.

</comment></comment></comment></comment><comment><USER12> My design would be a giant coffee shaped recycle bin in the coffee shop and the 2 streets adjacent to it. Would lead to more effective recycling.</comment>


A Startup Turns to Saffron to Help Afghanistan Regrow - <AUTHOR> http://www.nytimes.com/2016/08/11/business/smallbusiness/a-start-up-turns-to-saffron-to-help-afghanistan-regrow.html <comment><USER2> A few ponderings:

\- Using saffron as a means to transform poppy fields is a 12-year-old+ idea[0] that doesn't seem to have made a dent in opimium production, which has skyrocketed since 2004.[1] What makes this iteration different?

\- In 2011, saffron prices dropped 60% to due to an oversupply.[2] Given that the market for saffron is relatively established, isn't there concern that Rumi's growth might outpace demand and cause a similar price drop?

\- What makes Rumi different than current companies run by locals such as the Afghan Saffron Company?[3]

[0]: [http://www.telegraph.co.uk/news/worldnews/asia/afghanistan/1...](http://www.telegraph.co.uk/news/worldnews/asia/afghanistan/1458504/Afghan- farmers-turn-to-saffron-as-replacement-for-their-opium-crops.html)

[1]: [https://publicintelligence.net/unodc-afghan-opium- survey-201...](https://publicintelligence.net/unodc-afghan-opium-survey-2015/)

[2]: [http://www.bbc.com/news/world-south- asia-13848820](http://www.bbc.com/news/world-south-asia-13848820)

[3]: [http://www.afghansaffron.com/](http://www.afghansaffron.com/)

</comment><comment><USER3> These are some of my best friends and fellow veterans. We couldn't be prouder of what they are doing. They are part of YC's fellowship as well if that wasn't already known.

What you all here might be interested in that isn't discussed is how they are opening up and transforming logistics and supply chain into previously closed markets. That is the huge opportunity here that few have the skills or background to properly navigate. These are still hard to win supply lines, but there are openings there.

Congrats Kim and Emily!

<comment><USER4> This is a great idea and hopefully offers another opportunity for some of the farmers there and helps grow their economy one step at a time.

</comment></comment><comment><USER5> Hi friends, I'm Kim, the CEO of Rumi. We're so excited to be one of the YC fellows, and we would love to answer any questions if you have any. Shoot! And buy saffron please- makes excellent gifts.

<comment><USER6> I thought that you would be shipping internationally. Appears to be limited to the US.

<comment><USER5> Great question. We do ship internationally for B2B orders but must contact us directly. firstname.lastname@example.com. Otherwise it doesn't make any sense for us to service customers directly to other countries unless we can find a distributor

</comment></comment></comment><comment><USER7> Pretty bizarre we haven't genetically modified a saffron yet to have more than three little threads of spice produced per flower. Heck, considering the variety our race managed to breed dogs into and the amount of change we created in corn and other projects, you'd think we could have done that with selective breeding alone.

</comment><comment><USER8> I come from an Iranian background and saffron is a staple in Iranian cuisine. I'm not sure how much demand it would have in western cuisines, although according to the article it's used in some spanish and french dishes. It would be interesting to see where this goes.

<comment><USER9> I'm half French and half Iranian. I love saffron. It would be nice if the local Mediterranean/Indian/Iranian restaurants had access to more saffron, instead of diluting it with orange coloring.

</comment></comment><comment><USER10> Please pardon my question if it's inappropriate, but isn't saffron prized for psychoactive potential in the black market? I'm ignorant about the scale to make it worthwhile considering this memory is based on some illegal logging elsewhere in the world. I'm simply curious because rebuilding in Afghanistan - or really any place that the world tends to ignore - is an absolutely human, noble cause and I hope for positive outcomes!

<comment><USER11> I think you might be confusing saffron with poppies. Saffron is sufficiently expensive and widely used in cuisine it's hard to see it being popular for any psychoactive properties it might have compared to, say, nutmeg.

<comment><USER12> He is confusing it with sassafras, as I did upon first glance.

<comment><USER10> Ah! Thanks! Good to know there's a strong market for a spice without the baggage. Appreciate the clarification for sure.

</comment></comment></comment></comment><comment><USER13> I worked at a telecom company in Afghanistan a few years ago when the country was relatively safe. I'd like to leave HNer's with some statistics that are not included in the NYTimes article that might explain why it is so vital to move any part of the agricultural crop away from opium:

Afghanistan's opium production currently goes into more than 90% of heroin worldwide.

According to a UN doc cited on wikipedia, production reached a peak in 1999 with a bumper crop of 4,500 metric tons. [1] Shortly afterwards in 2000, 99% of poppy cultivation in Afghanistan was wiped out by the Taliban, who controlled Afghanistan with an iron fist and declared the cultivation of poppy "un-islamic". This amounted to a 75% reduction in the world supply of opium. So total world production was ~6,000 metric tons in 1999.

According to this 2014 UN report [2] the total area of opium poppy cultivation in Afghanistan was estimated at 224,000 hectares with an average yield of 28.7kg/hectare. Converting this to metric tons: 224,000 * 28.7 / 1,000 = 6,429 metric tons of opium produced. Report cites a possible range from 5,100-7,800 metric tons produced.

So not only is Afghanistan back to pre-Taliban production levels, it is producing more than the entire world production of opium in 1999. This is just 15 years after a 99% eradication of the crop in the region. Ironically, opium production has ramped up massively since 2002, under US/Karzai governance.

The farm gate value of this opium is only $850m. Using an average of the conversion ratios cited in the report (18.5:1 for pure heroin, 9.6:1 for export-grade heroin) and a price of $60,000USD/kg of heroin [3] we get a total processed value of $27.4bn. That's a crazy amount of value locked into processing and distribution.

Any amount of possible change towards other crops will be hugely beneficial for smaller-scale farmers who do not wish (or do not have the connections) to sell into the drug trade, and who only see 1/30th of the processed value of their crop. Not to mention it will be putting a dent in the world supply of heroin.

This is an ambitious and well-intentioned project. I'm glad to see HN sponsoring these types of ventures, especially as it falls outside the scope of the tech world and does not have the TAM/SAM/SOM projections that I'm sure VCs dream about. Good luck to the founding team, and stay safe.

[1] [https://en.wikipedia.org/wiki/Opium_production_in_Afghanista...](https://en.wikipedia.org/wiki/Opium_production_in_Afghanistan#cite_ref-13) [2] [https://www.unodc.org/documents/crop- monitoring/Afghanistan/...](https://www.unodc.org/documents/crop- monitoring/Afghanistan/Afghan-opium-survey-2014.pdf) [3] [http://www.cbsnews.com/news/the-drug-dealers-next-door- how-n...](http://www.cbsnews.com/news/the-drug-dealers-next-door-how-nyc- heroin-mills-are-blending-in/)

<comment><USER14> Did the Taliban's crackdown on opium have any impact on heroin use? I'm going to guess no.

<comment><USER13> If the global supply of heroin fell 75% the price would have increased dramatically, reducing use.

<comment> vertex-four If the global supply of heroin fell 75% the price would have increased dramatically, increasing crime by drug users and keeping demand around the same level.

Nobody says "I love heroin, but I'm going to stop because it's too expensive".

<comment><USER15> You'd be surprised.

Narcotics are remarkably fungible, much to the disappointment of drug enforcement agencies and social workers.

I spend a few hours a week at a transitional house for folks who've been down on their luck (homeless or no fixed address) and are trying to get into the support system. Most are dealing with addiction.

When you ask what they're taking, they often have a long equation of how much they take of X when they can't get Y, and how much of Z takes the edge off Y when their dealer is unavailable or they can't afford it, etc. Many have managed to get into a long cycle of a number of different substances, each being a transitional drug off the last. Since this is a behavior pattern they're used to, we're getting a lot of mileage using (now legal) marijuana as a bridge to sobriety whey they're not willing to submit to detox.

I'm 100% confident that if heroin doubled in price tomorrow usage would drop through the floor, but unfortunately addiction would be pretty stable.</comment></comment></comment></comment></comment>


Ask HN:To build a GUI should I take the HTML5/js path or stick to older techs? - <AUTHOR>

I have built an application using Python and would like to add a graphical interface for that application. The application is multi-platform and I am looking for a solution that should run on Win/Mac/Linux.
I have checked the different widget toolkits in Python (PyQt/PySide and wxPython) but I am not satisfied by them because in general the learning curve is high and because by default, they produce "clunky" anonymous results.
So if I want to go further with them and produce a nice personalized result (create your own widgets, ...) , I need to be really invested and spend lots of time mastering them.
I am wondering if building a web based interface (HTML5/javascript) wouldn't be better ?
I could create the web interface and run it in chromium with an extension to manage all filesystems operation. I could also start a nodejs server and kill it when I stop the application.
Do you think it is a viable solution ?
Which road would you take (stick to widget toolkit, nodejs, chromium) ?
Any advices are welcome. <comment><USER2> PySide with QtWebkit would work for a desktop html gui:

[http://srinikom.github.com/pyside- docs/PySide/QtWebKit/index...](http://srinikom.github.com/pyside- docs/PySide/QtWebKit/index.html)

<comment><AUTHOR> Thanks I will check that possibility. It might be easier to manage than chromium or nodejs as a local desktop app.

</comment></comment><comment><USER3> Check out enaml - <https://github.com/enthought/enaml> . It makes writing UI's in python really fun.

<comment><AUTHOR> Still it relies on wxPython or PyQT which is my problem because you are limited to the existing widgets somehow (or you need to create your own widgets and then it is slow and painful).

<comment><USER3> Writing custom widgets in Qt isnt half bad.

</comment></comment></comment><comment><USER4> well for cross platform Qt or gtk,although everyone always says stay away from experimental I say use canvas If the user cant use the canvas fall back to jquery. I belive with the technologies we have now old idioms like "dont render gui on the canvas" this will soon fade away, running your own server for just that application may not work so well as you have to manage that server aswell, like what if the user isnt allowed to give the firewall access? or what if the server crashes and the client has import data that needs to saved? I personally have played with alot of gui stuff and I always come back to html5 and js so thats just my $0.02

<comment><AUTHOR> @mouseroot. Ok thanks for the advice. When I was talking about http server, I meant locally on the user's machine(start a nodejs for example and kill it when the user stop the application somehow).

Other solution is to use chromium with a filesystem extension.

Do you have tricks or advices for that ?

<comment><USER4> <http://www.html5rocks.com/en/tutorials/file/filesystem/> and heres something i tossed together yesterday :D <http://cssdeck.com/labs/nt3httvf>

that site html5rocks shows alot of cool stuff some of it only works in chrome but most of it is cross browser, hope this helps

<comment><AUTHOR> Ok I will check the html5rocks web site. Thanks

</comment></comment></comment></comment><comment><USER5> build the gui in html5, just use only the popular libraries such as jquery and stay away from the experimental stuff i.e. canvas or webgl.

<comment><AUTHOR> ok but after practically what do I do ?

I run it in a chromium, I launch a HTTP server ?

In the end I want to make a desktop GUI and I would like a solution which is not too clunky

</comment></comment><comment><USER6> Depends on what you want to do. For gui development you should use a solution that has a GUI editor so you dont have to manually code your interface , i find it pretty important , that's why in my opinion Java with Swing is still the easiest way to go for multiplateform GUI development. Java is not that hard and tools like eclipse or netbeans provide gui editors. You want to use HTML5/Javascript ? then go with adobe air , you will be able to develop your app in full javascript/html and take advantage of the air API, and deploy in any plateform that can run air.</comment>


Why would aliens even bother with Earth? - <AUTHOR> <comment><USER2> Setting aside vixen99's completely cogent response for a moment, what about curiosity?

Despite the plethora of planets we've discovered recently, I'm betting that sentient life is pretty rare. In human terms, you could ask "Why would people even bother with hydrothermal vents?"

</comment><comment><USER3> Who are we to second guess aliens? Itself a tad arrogant.

</comment><comment><USER4> Did you forget the URL? Try submitting again.</comment>


More Info: Corruption in Amazon Seller Performance - <AUTHOR> http://amazonneedstoinvestigate.blogspot.com/2015/11/curroption-at-amazon-seller-performance.html <comment><USER2> "Sorry, the page you were looking for in this blog does not exist."</comment>


Told U.S. security at risk, Chinese firm seeks to sell Grindr dating app - <AUTHOR> https://www.reuters.com/article/us-grindr-m-a-exclusive/exclusive-us-pushes-chinese-owner-of-grindr-to-divest-the-dating-app-sources-idUSKCN1R809L <comment><USER2> As a practical example, I'm guessing there's concern that they could get personal sexuality information about someone in the military and extort them with it.

Seems really quite plausible to me.

<comment><USER3> So, Americans have bigoted views towards gays, which means a Chinese company can't own a gay social network?

<comment><USER4> Part of the process of getting a security clearance is proving you can't be blackmailed.

Lots of things you would think are disqualifying aren't, as long as you disclose them (being involved with BDSM is the most obvious answer I'm aware of).

The fact that they're LGBT isn't the issue with the repeal of don't ask don't tell. But if they're not out and they don't disclose then yes, this information is absolutely valuable.

Money stuff is another disqualifying event. If you're heavily in debt then you're vulnerable to being paid off in exchange for something against the interests of the United States.

<comment><USER5> Ok, so a Chinese engineer cannot work for OK Cupid or for Match? Or for Hinge? What about a Russian engineer? Or an Indian engineer?

<comment><USER4> Where did I say... literally any of that?

<comment><USER5> There's no magic AI in Grindr that can answer the question "Show me all people that work for DoD that are into gay sex". There has to be some engineer or group of engineers to do it. It is the same with a Hinge/OKC/Match/etc.

<comment><USER4> Because they don't have a bunch of location information for everyone on grindr?

If only someone did something in the last few years that would make this data super valuable. Like if Chinese intelligence broke into the US governments HR system and absconded with the data (including all their personal information including where they live).

Oh wait...

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> Nice to see someone taking the Chinese foothold in SV seriously. I've also heard people who go to work for Chinese companies are then blacklisted from US Government defense- and intel-related work for 1 year. Can anyone confirm?

<comment><USER7> > I've also heard people who go to work for Chinese companies are then > blacklisted from US Government defense- and intel-related work for 1 year. > Can anyone confirm?

I definitely want confirmation on this. I could see the security-clearance folks being skeptical of someone who moved to mainland China to work, but not of someone who, say had a job in the US at a Chinese-owned company like AMC [1] or Riot Games [2].

[1] [http://fortune.com/2016/03/18/the-biggest-american- companies...](http://fortune.com/2016/03/18/the-biggest-american-companies- now-owned-by-the-chinese/)

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

<comment><USER8> There isn't some hard rule like that. If you have no family connections to china, moved over to join some cool company, then came back a year later because you got bored, your interim clearance would probably be denied, and your background investigation would probably take longer but you could still get a clearance.

</comment></comment></comment><comment><USER9> I wonder if the same owner as Tinder and OkCupid will buy this, becoming a dating (and casual sex, and etc.) superpower.

I always thought funny how OkCupid pushes ads like "You're tired of the dirty flesh market of Tinder? We hear you! Come use OkCupid!" and they have the same owner as Tinder

<comment><USER10> It's generally best to be reserved about trusting any business to put principle or mission ahead of financial rewards, so, yeah, it's probably not true that OkCupid's owners (present or past) were not in their hearts mission- focused around substance over photo-swipe matching techniques and business success just came naturally.

That said, there's nothing particularly inconsistent about having different product lines and brands for different market segments. _I_ don't think much of any of the Swipe-to-Date apps, but lots of people seem to. Some people seem to prefer OKC. Some people would rather buy a Lexus than a Toyota, or Pizza Hut over Taco Bell.

<comment><USER9> It's not a judgement on my part, I was finding it humorous that their ads for OkCupid were basically calling Tinder cheap and shallow just as a marketing ploy to get the users on their side while sharing the same owner, a bit like finding out a vegan restaurant that markets itself by calling meat foods unhealthy actually has the same owner as burger king.

</comment></comment></comment><comment><USER11> What makes Grindr special in this regard ? I'm sure there are other dating or social apps out there that also could be foreign owned and used for espionage....???

<comment><USER7> > What makes Grindr special in this regard ? I'm sure there are other dating > or social apps out there that also could be foreign owned and used for > espionage....???

select opm.name, opm.address

from opm_security_clearance_files opm

join grindr_users grinder

where grinder.phone_number = opm.phone_number

and opm.clearance in ('SECRET', 'TOP SECRET', 'SCI');

If any of those people are in the closet, they could be susceptible to blackmail.

<comment><USER12> Replace _grindr_ by _some_other_site where some_other_site.orientation != 'straight' or some_other_site.fetish in (...)_ and it works out to the same result, no?

<comment><USER7> Yeah, definitely. I think it's arguable the same rational could even apply to a dating site for straight people. It would take a little more work and probably be less fruitful overall, but an adversary's intelligence agency could use it identify straight people (with security clearances) who may be trying to cheat on their spouses or whose marriage is disintegrating. Both of those situations could open someone up to manipulation (a honey trap [1], for instance).

[1] [https://en.wikipedia.org/wiki/Recruitment_of_spies#Love,_hon...](https://en.wikipedia.org/wiki/Recruitment_of_spies#Love,_honeypots,_and_recruitment)

<comment><USER13> Knowing someone is gay is a classic blackmail situation, particularly within the gov world. Grindr is very sexually charged, so you get the most extreme sensitive bits here, combined with high profile people that are closeted and don't want this information leaked. Not the same situation.

</comment></comment></comment></comment></comment><comment><USER14> I thought Cfius could only block deals. I've never heard of them forcing a sale and the article doesn't really speak to this odd situation.

<comment><USER15> From TFA:

>The development represents a rare, high-profile example of CFIUS undoing an acquisition that has already been completed. Kunlun took over Grindr through two separate deals between 2016 and 2018 without submitting the acquisition for CFIUS review, according to the sources, making it vulnerable to such an intervention.

<comment><USER14> They must have added that later (or I failed at reading comprehension). Anyways thanks!

</comment></comment></comment><comment><USER16> An additional security concern is Grindr's location tracking. If you haven't used it, it broadcasts people as "N feet away" on a grid (sorted by distance).

That information could be used to discern the locations of military personnel.

</comment><comment><USER17> I don't think I've seen an arrangement like this before.

</comment><comment><USER18> The proper solution would be not to collect personal data, especially if it is not necessary for functioning of the app, rather than worry about who is going to buy the company.

<comment><USER19> I mean that's valid, but a gay hookup app is going to struggle with not retaining personal data - location, pictures, sexual preferences, messages, HIV status, links to other social profiles…

<comment><USER18> The app doesn't need precise location, full name, phone number or email. So if they won't collect it then there would be less useful information to leak. Having just photos without a way to identify the owner doesn't help much.

</comment></comment></comment><comment><USER20> This is the sixth attempt in the past 24 hours to post this exact story. I wonder what it was about this attempt that caused it to spike up in points vs the other 5 attempts, which only maxed out at like 2 or 3 points?

<comment><USER21> The usual stochastic nature of getting to the front page, most likely. Since the WSJ is paywalled, we've re-upped the earliest Reuters post instead of [https://news.ycombinator.com/item?id=19505863](https://news.ycombinator.com/item?id=19505863).

</comment></comment><comment><USER22> This is a very tinfoil-hat-y perspective, but is it possible that this action gained support inside the Trump White House because it makes life more difficult for Grindr?

I think the theory that it's about potential blackmail and extortion is a more likely explanation, and overall I think it makes sense for the government to take this action, but it might have been boosted by ulterior motives (see also CNN/AT&T/Time Warner).

<comment><USER13> But they're seeking to have it be sold... not shutdown. So why would that be part of the WH agenda?

<comment><USER22> It still creates financial turmoil for Grindr, especially given that it was considering an IPO. The IPO would have been a financial windfall for many employees, whereas an acquisition may mean no immediate liquidity for those employees' shares and may have less desirable terms (because it's forced and has to be completed by some deadline). This may hurt morale.

</comment></comment></comment><comment><USER23> But being LGBT in China is much more accepted than in the west, so I don't see the point here...although not if they had sex tapes or is critiqued by the official media

<comment><USER24> You at least have anecdotal sources for that? My anecdotal experience is the opposite, one generation away from the farm and all..

<comment><USER23> Well, most of us are neutral about LGBT, we don't care whether you're gay or not if you can get things done.

<comment><USER25> The Chinese government sure cares, since same-sex marriage is not legal.</comment></comment></comment></comment>


Studios would be banned from selling loot boxes to minors under new bill (2019) - <AUTHOR> https://www.theverge.com/2019/5/8/18536806/game-studios-banned-loot-boxes-minors-bill-hawley-josh-blizzard-ea <comment><USER2> About time, although I expect it to be heavily lobbied against by the games industry.

Given that a lot of people are sheltering at home right now and have some extra time, I'd encourage people to contact their Congressional representatives if they support this legislation.

<comment><USER3> > I expect it to be heavily lobbied against

Dan Geer (from this[1] talk):

>> The software houses will yell bloody murder the minute legislation like this is introduced, and any pundit and lobbyist they can afford will spew their dire predictions that "This law will mean the end of computing as we know it!"

>> To which our considered answer will be: _" Yes, please! That was exactly the idea."_

</comment></comment><comment><USER4> Proposed bills mostly don't go anywhere and so are mostly off topic here.

[https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...](https://hn.algolia.com/?dateRange=all&page=0&prefix=false&query=by%3Adang%20bills&sort=byDate&type=comment)

</comment><comment><USER5> This is an article from May 8, 2019.

</comment><comment><USER6> Where do children get the money to buy this stuff?

<comment><USER7> Well my nephew stole my sisters debit card and charged $1600 to it. She called and got the charged reversed but HE GOT TO KEEP THE ITEMS. Until he traded his Fortnite account to someone at least.

<comment><USER8> holy crap!! if my kid did that, that would be an immediate end to all Fortnite for a few years.</comment></comment></comment>


Show HN: How much is your org spending on SaaS? - <AUTHOR> https://www.intello.io/ <comment><USER2> "The average employee actively uses 36 SaaS applications" \- I would actually love to get some source on that.</comment>


Ask HN: Can we improve our SEO at all? - <AUTHOR>

We've released a redesign of our website at http://www.scirra.com, I've done a fair bit of reading on SEO so think I have applied it well, although I am pretty new to it and would like some critique.
We get some visitors but we have always struggled a little with ideas to bring in more visitors, and have struggled to get much attention in the industry in general.  Is SEO a valid strategy to attract more visitors or should we be spending our efforts elsewhere?
All comments are appreciated, thanks for your time! <comment><USER2> This is totally not related to your question, and I am sorry for that, but I really think your tool is something very interesting. The concept is really cool, however, I think the writing and the imagery need to be worked on a bit; not from the perspective of SEO but from the perspective of getting the message across. Right now, in my opinion, the message is a bit wayward and not getting across to the reader clearly. Case in point:

"Create: A powerful new game maker. Build your games in the world's best editor. No prior experience in programming is necessary to use our event system. Be up and running in minutes."

It seems like you are trying to use words which signify something, but when they are put together they do not form a coherent sentence.

I actually stumbled on your last HN posting a couple of days ago, while searching for sources on html5 on hnsearch, and was really surprised that your last post did not get any comments.

Additionally, if you want any help, I would be more than happy to help you out with these issues (free of charge of course; I do not think I am good enough to charge :) )

<comment><AUTHOR> Hi ahsanhilal!

Thanks for the vote of confidence and your message :) You are right, one criticism we keep receiving is we are describing the product in too much of an abstract way. It definitely needs work!

If you have any suggestions I welcome them fully! Please do drop me an email or post them here!

Also we are a bit disappointed we can't seem to get much notice on HN, it's a shame we really think we have something great, maybe this is a good illustration of our product not being described optimally.

Tom

</comment></comment><comment><USER3> Do better keyword research. What are the most common 2-word, 3-word, and 4-word phrases that folks searching for your product would use? Who are your competitors and what terms are they optimized for?

I see that you 'have' SEO, but it's not good SEO. You really need to do keyword research, get in the mind of the person 'googling' this stuff, and figure out what the hell a potential customer is calling your software before they see your website and learn that YOU call it 'construct 2' and 'creation tools' (which are terrible google search terms).

If you provide some of this info I may be able to provide more feedback, but seriously, you can do it yourself it's not rocket-surgery. <https://adwords.google.com/select/KeywordToolExternal>

<comment><AUTHOR> There are the big keywords I found like "make games" and "game creator" but they seem a bit overwhelming, we've tried to attack them but progress is slow. Most search traffic comes at the moment from people searching for our company/product name (this is good because it shows increasing brand awareness) but it's ultimately not targeting new audiences who wouldn't of found us anyway.

I'm wondering if it's better to identify far less popular searches and use that as a foundation when we get good rankings on that

<comment><USER3> Tom you should absolutely start with the niche keywords that you can dominate. Then from there I would move onto broader keywords but not too quickly. "make games" and "game creator" are way too broad. What kind of games? For what platforms? These phrases are sending out unfocused traffic. You want people who are already looking something like your product and thus will have better conversion rates from being more focused.

It looks like a rough SEO situation currently, with terms like 'make html5 games' only getting 590 searches a month. I definitely think using headers like this " visual HTML5 game development tool" which I found on your website - is a great start. This is specific, and explains the tech/platform and should actually get you a few longtail searches.

What I really learned a lot from recently is hearing a rumor that 50% of google searches are unique. That is mind-blowing because it means longtails have that much more importance. Even though it might not be trending right now, phrases like ' visual HTML5 game development tool' are going to be good for longtails.

Sorry, wish I could talk more but gotta run.

BTW, love the site.

<comment><AUTHOR> Hey thanks for the detailed reply I really appreciate it! I think the strategy of attacking niches is a lot better than a general broad strategy, I will look into it!

</comment></comment></comment></comment><comment><USER4> Games are eminently sharable, and I suspect there is a large overlap between people who would like to play games made with your platform and people who would like to make games with your platform.

Have you considered publishing an arcade of really playable games? Or how about a hosting platform for your user's creations? Then users would do the work of propagating your URL. A cross-Scirra high score system could also add a lot of appeal and virality.

In other words, I think there are some really promising ways for you to show off your product entirely apart from SEO.

<comment><AUTHOR> Yes good idea! A games arcade is on the tabs but it's a difficult thing to develop. Hopefully coming soon :)

</comment></comment><comment><USER5> Content is king in SEO. you seem to have lot of activity in /forums. But it doesnt seem to be great quality content.

Your blog (<http://www.scirra.com/blog/archive>) has very small number of posts. I would recommend writing keyword targetted content in your blogs (use the free Google Keyword tool to get an idea abt high demand keywords in your domain).</comment>


Hover a mouse over a link – just don't trust the results - <AUTHOR> https://www.michaelhorowitz.com/HoverOverLink.php <comment><USER2> It's remarkable how many user-hostile annoyances and dark patterns of web design have gone mainstream.

Designers seem to have learned the wrong lessons. If users are blocking your pop-up windows (or other annoying features like autoplaying video) the proper response is to design your web site to work properly without the irritating features, not to come up with a new way of invoking them that works even in the face of powerful blocking mechanisms and user opposition.

</comment><comment><USER3> One more reason for right click -> open in a new tab (on desktop). It's a surprisingly simple and effective solution. Edit: copy/paste link location also gets rid of the unwanted Javascript destination and should be safe.

The websites I really can't stand are the ones featuring href="#", only relying on Javascript for links.

<comment><USER4> I always right click->copy and put it in the url for a new tab before deciding.

</comment></comment><comment><USER5> Google does this for its search results. Hovering the cursor over it shows the actual URL of the result, but whenever it detects an onclick event it replaces it by its own tracking URL. Super annoying when trying to copy an URL - luckily you can easily get rid of it through user.js.

<comment><USER2> It is extremely annoying. When I do a web search, I want real URLs, not obfuscated tracking links, but search engines seem to have collectively decided to sabotage their own search results.

Even if you are addicted to tracking (and assuming that tracking is a good thing that users actually want) surely there is a way to do it without sabotaging URLs.

</comment></comment><comment><USER6> Just one of many reasons you should block js by default, and push back (usually by just leaving) sites that show blank pages without it.

<comment><USER4> a lot of "blank pages" yield a readable article if you click reader mode.

</comment></comment><comment><USER7> On Firefox (Linux), middle-clicking opens a new tab to the site indicated, not the malicious one.</comment>