How I built an app with 500,000 users in 5 days on a $100 server - <AUTHOR> https://medium.com/unboxd/how-i-built-an-app-with-500-000-users-in-5-days-on-a-100-server-77deeb238e83#.g8ipvn23a <comment><USER3> This article left a really bad taste in my mouth. I don't believe GoSnaps == GoChat in terms of complexity and the constant back patting and self congratulating is really distracting. There were a couple of decent takeaways but largely the whole post revolved around how "How smart am I?" and "What great foresight I have".

I really don't approve at all of the GoChat shaming going on. The author may be 100% correct that GoChat made mistakes in writing code that doesn't scale well but that doesn't give him a blank check to beat and berate GoChat. It reads as a very discouraging post to newer/less experienced programmers in my opinion, essentially "Don't even bother making something unless you know it can scale to millions of users" which I think is a terrible message to be sending.

<comment><USER4> Yeah it's complete bs. I've worked on chat before and even 100 clients destroy a core or even two.

Now I would use pusher but that's extremely expensive but scalable.

<comment><USER5> Yeah, no, that's wrong.

If you have problems with this, there's something really wrong with either your design or your choice of tools.

How'd you go about building this?

<comment><USER4> In 2008 with php and ajax

</comment></comment></comment></comment><comment><USER6> The real takeaway from this is that the author uses Hackathon Starter ([https://github.com/sahat/hackathon- starter](https://github.com/sahat/hackathon-starter)).

I have used it for multiple projects and it gives a huge head start compared to starting from zero. Signing up, logging in, resetting the password, uploading, etc all seem like easy work but when you pile them all up you can easily spend a week just getting to the point where you are within minutes of cloning the starter repository.

However the failure of GoChat is not relevant to Pokemon Go. While GoChat might have done something very wrong comparing 1mil users to an app with tens of millions of concurrent users is invalid. Pokemon Go would be a NoGo running on a single Node.js machine without any sort of balancing.

<comment><USER7> > However the failure of GoChat is not relevant to Pokemon Go.

That part is almost right, but also a little confused.

He built GoSnaps, which is a geo-enabled gallery with: No chat, few messages, few writers, many readers, medium amount of reads, large messages, not time- dependent. (Not even user state.)

Then he contrasts that to the failure of GoChat, which is a geo-enabled chat with: Many-to-many chat, many messages, many writers, many readers, many read operations, small messages, very time-dependent.

The performance profile between these two things is wildly different and the way he's patting himself on the back over what amounts to half knowledge is pretty disgusting.

<comment><USER8> Failure of GoChat? GoChat didn't fail, it just had some hurdles it needed to jump. GoChat is back up 100% baby! (I'm the guy who started GoChat). I reached out to the author of this story and he has since updated his story. I now have a team of 6 dedicated guys helping me full time on this and we're cruising forward.

<comment><USER7> That is great to hear. Good work! Sorry i can't edit the post anymore, otherwise i'd update that. :)

Edit: Wow, he did update it and he's only defending his bullshit with more half-knowledge. At this point i'm ready to call him a liar, just over this claim: "My conclusion is that both apps are very similar in terms of scalability complexity."

</comment></comment></comment></comment><comment><USER9> Ah, the good old "I could build StackOverflow in a weekend" line of thinking - I'm sure we've all been there.

There's a world of difference in building a photo sharing app with XXX,XXX users vs. building a chat app with XXX,XXX users.

When you do anything that involves chat or that level of concurrency, surprises will bite you in the behind, multiple times, even if you desperately try to use as much existing software as possible.

(as anyone who's taken a look at ejabberd, thought it'll play nicely, and then load tested their code will tell you)

Frankly, PHP vs. Rails vs. Node[1] vs .Net vs Java will be the least of your troubles.

[1] I do fear that the author is going to find a nasty surprise or two for themself regarding Node's performance issues

<comment><USER10> Though, using a specialized language like Erlang can make it possible to run WhatsApp on only 50 engineers (in 2015). I agree with the OP that choosing a stack like Rails can kill your Pokemon Go related MVP pretty quickly (I'm a huge Rails fan myself, but would definitely use Node.js for something like that).

<comment><USER11> > make it possible to run WhatsApp on only 50 engineers

Frankly, I'm sure Erlang is great, but with 50 full time skilled engineers I'm pretty sure you could run WhatsApp on almost anything.

<comment><USER12> The largest explosion in their user base came when I think they were at something like ~11 engineers, and from what I've heard the largest additions to their engineering team came on the frontend side, not the backend.

</comment></comment></comment></comment><comment><USER13> First I would say Pokemon Go has done incredibly well to handle such massive growth so quickly, no doubt they were able to leverage a lot from Ingress but I could imagine many other companies having days of downtime while trying to scale up so quickly.

I also tend to disagree a bit with the article. For every situation like this were early scalability is important their are a 1000 MVP apps that are prematurely optimized or over engineered. At the end of the day the chance of anyone building an app that will get over 100,000+ in a week (and keep those users coming back) is very very very slim.

<comment><USER14> 100% agree with you. As a freelancer I usually have to decide technology stack and infrastructure and I always go with the cheapest option for my client with the argument that one day he could just scale it up even by rewriting it.

This makes 3 months project delivered in 1 month and in the end the client usually benefits that.

<comment><USER15> > I always go with the cheapest option for my client

> with the argument that one day he could just scale

> it up even by rewriting it.

Which in practice of course never happens. Instead, the old code gets patched up until everything fails completely, and only then a rewrite happens :)

<comment><USER16> Which is a perfectly valid choice in many cases. I plan to drive my car for as long as possible and into the ground before I get another one. As long as I know the eventual replacement cost is coming and budget for it it can be a good choice.

</comment></comment></comment></comment><comment><USER17> >>> Where would I have put my images? In the database: MongoDB. It would require no configuration and almost no code.

Why... would anyone actually do that in anything more than a classroom example for an application like the one described? Amazon S3 and similar services have very decent libraries for pretty much every popular programming language, why would you re-implement that?

>>> MVP and scalability can coexist

I'd replace that with less catchy but probably more correct 'experienced devs can make more scalable mvps with little extra cost, if any'. MVP doesn't mean lets just go silly and make the quickest and dirtiest decision imaginable.

It's a matter of experience to recognize potential problems and the respective potential solutions, and program accordingly. SQL schema is a pretty good example. Often it makes a big difference in scaling and often you can design the initial schema to be much more scalable with some experience and a few moments of planning.

<comment><USER18> The author says in the article that putting images in the database is not what he did.

<comment><USER19> I think the point the parent is trying to make is that no one would do that anyway, and mentioning it in the article as something that makes your application slow is pointless.

<comment><USER18> But the article mentions he used Google's cloud, and the OP asked "Why would anyone reimplement AWS?"

It sure seemed like the OP skimmed the article, found something out of context, and refuted it here.

<comment><USER17> Nope, I read it. Maybe just didn't explain my point clearly enough.

He mentioned that he is using Google Cloud instead of storing images in MongoDB and my question was what's the big deal about it? It doesn't seem like something you'd do to make it more scalable, it's something you'd do anyway.

<comment><USER18> I've seen plenty of people suggest or question which is better, storing files in a database or outside of a database.

Like just about everything, each has trade-offs.

I don't find it immediately obvious that a database would never be used for such a thing, or that reaching for a third party file storage service is the only solution to consider.

</comment></comment></comment></comment></comment></comment><comment><USER20> > If I would have built GoSnaps with a slower programming language or with a > big framework, I would have required more servers. If I would have used > something like PHP with Symfony, or Python with Django, or Ruby on Rails, I > would have been spending my days on fixing slow parts of the app now, or > adding servers. Trust me, I've done it many times before.

> As said, GoSnaps uses NodeJS as the backend language/platform, which is > generally fast and efficient. I use Mongoose as an ORM to make the MongoDB > work straightforward as a programmer.

<comment><USER21> I was skeptical too, but the guy has 500,000 users on a $100/mo server. It's not even up for debate anymore, Node.js is fast and scalable. You might not like MongoDB, but it also works.

<comment><USER7> The performance profile matters. 500000 users on an instagram type site create a COMPLETELY different kind of load compared to 500000 on a geo-enabled realtime many-to-many chat program.

</comment></comment></comment><comment><USER22> There's a little too much self-congratulatory prose in here. And poor advice ( _Use NodeJS because its fast_ ).

But there is one take-away at least... design your application around your data and how your users will interact with it and performance will generally fall out of that. And it doesn't take much to start that way rather than leaving it as an after-thought.

People might break out the (oft-misquoted) "premature-optimization" horse for a little beating, but performance _does_ matter. At least the bounds matter for most applications. You might not need to eek out every cache line but you can set targets up-front to say, "We cannot tolerate more than Xms req-to-res time" and bake that into your design.

<comment><USER23> It's funny you mention node as poor advice... and while I think it would need be replaced at scale, I tend to reach for node first, if only because it's easy enough to prototype something that can scale out, and gets decent per- instance performance. In this case, I'd probably have started with go for the core chat engine, combined with a plan to shard/distribute chat channels, however you want to break them up.

As for pre-mature optimization, for something like this, they should have had a plan to grow, and enough base to be able to handle some early growth. I think falling over once you hit a million or more simultaneous users can happen in a lot of ways. Especially if growth happens faster than you can provision servers/funds.

<comment><USER22> You can write a fast server in Python 3 that can benchmark well against Node [0].

The author tried to sell us on the idea that Python is slow because Django is slow and you shouldn't use Ruby because Rails is slow. You should just use Node because its fast.

Well I don't know about you but I've seen slow Node applications too.

It all comes down to data. If you really want to maintain your performance goals you have to include them in your design. You have to design for your data. Show me your data and I can write the program. Design it well and you can scale up when the time comes with minimal effort.

Besides there are other factors to consider such as familiarity with the tools, correctness of the implementation, etc. Javascript is great and all but it is incredibly easy to make errors that will go unnoticed until it hits production. The law of large numbers won't protect you if you're used to the blanket of obscurity. And so I find you need many more layers of tooling and choose your subset of the language carefully to maximize its use... something that you don't have to do as much with OCaml or Haskell for instance.

Hence, "just use Node because its fast," is misguided at best. (And I'm not even a Node hater.. I maintain a number of Node applications presently).

[0] [http://magic.io/blog/uvloop-blazing-fast-python- networking/](http://magic.io/blog/uvloop-blazing-fast-python-networking/)

<comment><USER23> Agreed, the reasoning isn't sound... I was just meaning that node is a perfectly serviceable platform, and better than most by design. I've also seen some hideous node apps... generally because people don't really get how it works, and try to do heavy math in the main process.

</comment></comment></comment></comment><comment><USER24> Survivorship bias anyone?

How many times did a project fail, because it the non-aspects (e.g. scalability) were undernegineered? How many times did it fail because it couldn't ship on time/budget due to excessive engineering? We do not normally read such stories, because they are totally unexciting, taken separately. And one failed case of GoChat does not a worthy stat make.

Ultimately, good job to the guy for nailing a sweet spot between his skills and the market of the application created by those skills. Just do not assume that's everybody's sweet spot.

</comment><comment><USER25> > But this would have been totally disastrous under any type of serious load. > Even if I would have simplified the above query to only include three > conditions/sorting operations, it would have been disastrous. Why? Because > this is not how a database is supposed to be used. A database should query > only on one index at a time, which is impossible with these geospatial > queries.

> On the database side, I separate the snaps into a few different collections: > all snaps, most liked snaps, newest snaps, newest valid snaps and so forth.

Pardon my ignorance, but don't most databases have some method of handling these issues?

(defining multiple indexes for use, having support for geospatial data, having support for like, subsections of the existing dataset, etc?)

I thought that the main goal was to offload the developer's code's logic onto the performant database, as opposed to offloading the database's logic and caching onto the developer's code? is the former not practical?

<comment><USER26> Yes, with Postgres (which I am most confident to talk about), most precisely using PostGIS, you can do that in a matter of hours using it for geo-queries and indexing for getting important stuff (new, trending, etc...). Plus Postgres is supported basically everywhere in any tech stack. I still don't get one point, why people totally ignore SQL dbs by default with new products? I know MongoBD, RethinkDB, CouchDB, etc... are really fascinating solutions, but why not considering SQL eliminating it by default? I am just curios.

<comment><USER27> I think its because the only really viable scaling option for Postgres is vertical scaling. Even just setting up any sort of replication with automatic failover is still a pain (multimaster is not yet built in, master-slave also needs 3rd party failover program...)

<comment><USER28> So, how large would his application have to get before that became a problem?

<comment><USER27> Replication with automatic failover? I'd go for it immediately, unless you are okay with long downtime and some data loss in case the server goes down.

But if you can live with that, then yes, you're unlikely to have actual _scaling_ problems - at least not for projects like the OP.

</comment></comment></comment></comment></comment><comment><USER29> The two previous submissions have a few comments scattered between them - <USER2> are direct links to those comments:

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

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

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

Despite getting a few votes, neither of those submissions got any real attention first time round - no doubt pure chance that this one has got enough attention to hit the front page.

</comment><comment><USER30> I read the story a while ago and was waiting for the criticism in the comments. Now one comment [0] already pointed out many of the issues of the article.

What's been mentioned in other comments but not explained in great detail is the database design, so I want to expand that:

The right way (TM) to do databases is to design a solid schema to keep data integrity and then apply indices and caches depending on your application needs. To be honest his application seems super simple to cache top-down, so a few lines inside the nginx config (which seems to scare him for some reason) would probably do. But if you use a real database (also TM) you can go bottom up, too:

1\. solid schema with constraints

2\. indices depending on your application

3\. stored procedures, database views

4\. some non-relational cache like MongoDB to cache denormalized data

5\. maybe something in memory

6\. (application)

7\. nginx caching

He started with 4. What he did is not a solid database design to brag about, instead he hardcoded a cache inside his application. If he wants to scale his application vertically or horizontally he will have big problems, because he misses a point at the beginning which contains the truth on which everything else is build upon. If he starts scaling up and then wants to change his schema he is basically in hell.

What he did is nothing bad. It is exactly "the MVP way". MVP is not about slow or buggy software but a really small feature set and applying YAGNI. MVP is nothing bad, he seems to have great sucess with it! What I am criticising is not how he build his software but what he wrote about it, comparing it to a much harder case and thinking it has something to do with good design.

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

</comment><comment><USER31> >If I would have used something [..] _Python with Django_ [..] I would have been spending my days on fixing slow parts of the app

>GoSnaps uses NodeJS as the backend language/platform

Is NodeJS really that much faster than Python in practise-- even with a fast framework (Falcon, pycnic, hug.rest) and Pypy? I know a lot of work has been put into making V8 fast but I didn't realise it was notably faster than Python.

<comment><USER32> To me it seems like he's talking about plain _CPython_ , which isn't even in the same class as Node.js/V8. As you mention, the correct comparison would be against PyPy.

</comment></comment><comment><USER33> You could have built most of the data side entirely static. First convert the user coordinates to simple mercator XY. Just divide or round that down to some precision and put the resources in a namespaced S3 bucket/path. Then just do a directory listing on resources in that bucket. You could even name them the full precision xy coord so you could still sort by distance, within the bucket.

Let S3 be your database.

You don't need the full precision of a geospatial query or database if you're building a simple app that organizes content by location. Depending on your density you segment few 100 meters or few 1000 meters.

<comment><USER23> Thank you... was my thought for channels as well, geohashes of varying precision for chat channels, and for more static resources using something like you suggest.

</comment></comment><comment><USER34> This reminds me of a quote from Biz Stone, Twitter founder: It takes ten years to become an overnight success.

[https://twitter.com/liftapp/status/472080510546903040](https://twitter.com/liftapp/status/472080510546903040)

</comment><comment><USER35> >GoSnaps grew to 60k users its first day, 160k users on its second day and 500k unique users after 5 days (which is now)

How did you market the app ?

<comment><USER36> No need to market. In most countries Pokemon Go was already popular but app was not officially available in Play Store/App Store yet. So millions of people searched stores for Pokemon Go and downloaded chat, tutorial and apps like GoSnaps instead..

<comment><USER37> So your initial user growth was from people who weren't actually able to contribute to the app?

<comment><USER38> There are apks avaialable outside of app store and here in my office in India almost all of my colleagues are onto capturing pokemons

</comment></comment></comment></comment><comment><USER39> Reading this leaves me doubtful whether to use MongoDB or not again:

[https://www.google.com/search?q=dont+use+mongodb](https://www.google.com/search?q=dont+use+mongodb)

[https://www.reddit.com/r/programming/comments/3dvzsl/why_you...](https://www.reddit.com/r/programming/comments/3dvzsl/why_you_should_never_ever_ever_use_mongodb/)

Do people at big startups use MongoDB in production?

<comment><USER40> This seems more like a limited-lifetime side project rather than an actual viable startup. I've used MongoDB for situations like this where I just need to stuff some simple data into a datastore and retrieve it later without any particularly complicated queries.

Personally, if I were the author, I'd switch over to PostgreSQL the second I start worrying about more complex queries, though.

</comment></comment><comment><USER41> Surprised he didn't talk about dedicated/colocated servers. For $100/month he could have had a E3-1231v3, 32GB of RAM, 2x480GB SSDs and unmetered gigabit bandwidth from OVH.

Instead he paid $100 for 4 hyperthreads, 15GB of RAM, a few GB of storage and fast but horrendously expensive bandwidth (assuming he used the n1-standard-4, which matches his description).

If he'd set it up to scale the number of servers with load or something it'd make sense but this doesn't make any at all.

</comment><comment><USER42> Pff that's nothing. I could build a fake app, in less than 1 hour, for $100 and get about 5 million downloads in 1 day.

Step 1. Find some opensource app code

Step 2. Call it Pokemon Go 2!

Step 3. Upload it to Appstore & link it to dropbox

Step 4. Spend $100 on African "talent" to give fake 5 star reviews & positive comments in app store.

Step 5. Hit F5 repeatedly at Appstore to watch the download counter increase to 5 million in 24 hours.

Step 6. Profit ?!?!

Step 7. Post story in /r/nosleep because too much guilt fooling 5 Million people.

<comment><USER43> Yeah, if you go to the play store and search for pokemon go you get hundreds of people making spin of type things and guides. Reminds me of ambulance chasers and art van salesmen. Just knowing that they make tons of money off their overnight app and I make s __t off an app I spent a lot of time on is discouraging.

</comment></comment><comment><USER44> Our company migrated to elixir 2 months ago. We have 2M users per server at $20/month.

<comment><USER45> I would be interested in more info about what kind of product you are working on in elixir. Is it chat-related or not at all?

</comment></comment><comment><USER46> I just don't get how he goes on and on about uploading images to cloud storage instead of mongodb, which he makes it sound like a very genuine decision.

Is it just me or what he telling is rudimentary?

<comment><USER47> I'm fairly sure that was the first think I learned after the basics on how to connect, create, read, update, delete

"Don't store images in the database. No, not even then."

</comment></comment><comment><USER48> In both cases the developers have committed to a pretty big monthly payment for an app that serves hundreds of thousands of users.

4000USD is a huge amount and even 100USD monthly is a lot to spend out of pocket without a plan to recover that money. Do they have any plan of making money out of these sites or are they purely CV/portfolio pieces?

</comment><comment><USER49> I'm less interested about the technology and more interested in whether he has a plan for monetizing all those users.

</comment><comment><USER50> … and earned $0.

<comment><USER21> Yeah, although building something with 500,000 users gets you a lot of attention, and probably a lot of free marketing for his actual startup.

</comment></comment><comment><USER51> The idea of putting into different collections up front is pretty smart. To generalise it into a broader lesson, I guess you could say it makes sense to make a one-time effort up front to save complexity down the line.

</comment><comment><USER52> It is true that GoChat doesn't need to be that expensive to maintain and his analysis is pretty much correct (I've maintained something that had similar amount of traffic, similar dynamics, and didn't cost me arms and legs at all, far from it. It's amazing how cheap you can start a company nowadays)

But no need for bashing someone else. These things are a fad so this GoSnaps thing will probably go the same way as GoChat anyway.

</comment><comment><USER53> Solid read, good basic thinking with regards to scalability via basically prefiltering data except for the one query you need to run at runtime.

It's a bit strange that the author mentions Scala as lean/fast with lots of libraries (along with JS and Go) but Java is too bulky. I'd say modern Java 8 can be used in a pretty lean manner. There's also nice and small web frameworks (Spark etc.).

</comment><comment><USER54> Here is my take on this:

1\. MVP vs. scalability: While building scalable product/s right from the MVP stage is generally a good idea, it may not be particularly beneficial or applicable to most scenarios. I mean

a) how many typical startups happen to scale to 500k or 1M users within days from launch?

b) most founders would be needing an MVP mainly for market validation, as a proof-of-concept and for the purpose of attracting seed/startup funding

c) many founders - especially non-coders - may not have the luxury/resources to have scalability built in to the MVP

2\. The original story goes to reconfirm my belief, based on multiple past experiences going back many years, that database continues to remain a (huge) bottleneck for web apps with high traffic volumes and max possible database optimization (right from config tune-up to table structure design/normalization to query optimization) can pay huge dividends in most cases.

</comment><comment><USER55> There's a lot of flak over poor comparison to photos and self-promotion. However, his overall point is still true: just putting a little effort in upfront with assumption you will succeed can prevent these problems. My baseline for evaluating this is "Did they do at least as well as someone who spent 30 seconds on Google?" Short version: doing better wouldn't have required a ton of thinking.

Here's what 30 seconds Googling "highly-scalable chat architecture" gave me:

[http://highscalability.com/blog/2014/10/13/how-league-of- leg...](http://highscalability.com/blog/2014/10/13/how-league-of-legends- scaled-chat-to-70-million-players-it-t.html)

[https://engineering.riotgames.com/news/chat-service- architec...](https://engineering.riotgames.com/news/chat-service-architecture- servers)

[http://doc.akka.io/docs/akka/1.3.1/scala/tutorial-chat- serve...](http://doc.akka.io/docs/akka/1.3.1/scala/tutorial-chat-server.html)

Note: Like to have seen numbers for field-test of the above in the article. Yet, it would've gotten someone thinking.

[http://lsirpeople.epfl.ch/nbonvin/dl.php?f=chat- report.pdf](http://lsirpeople.epfl.ch/nbonvin/dl.php?f=chat-report.pdf)

[http://doc.utwente.nl/68325/1/imp- pasm.pdf](http://doc.utwente.nl/68325/1/imp-pasm.pdf)

Previous times doing this for web services led me to highscalability.com with many architectures to imitate with fairly mature software components available. At this point, the common ones should practically have templates for "enter metrics expected here" then click to deploy.

</comment><comment><USER21> If anyone has more tips about how to get 500,000 users in 5 days, I'm sure we would all like to hear them.

<comment><USER56> Attach yourself to something viral...

Of course, getting 500,000 users is nowhere near the same thing as keeping 500,000 users.

<comment><USER21> Actually not bad advice. Don't try to create the waves, ride the waves.

</comment></comment></comment><comment><USER57> For me, this article is very reassuring.

My server used to be at <0.8% cpu usage. Now that I installed mongodb with almost nobody using my app (< 2 person per hour), my cpu is always at ~1.6% (It doubled because of mongodb!). At first, I feared that my cpu use would be enormous as soon as I would get new users. Now I guess my cpu% increase is due to some overhead that will not grow too much with db size/use (if the author was able to make an app of this scale with mongodb). I'll also try the lean() mongoose thing.

</comment><comment><USER58> I'm all for critiques of software and how to improve work, but do we need to rag on the guy who made GoChat? Looking at the project, it was clear it was a single guy or a couple people, working to put out a project for experience.

It's poor form to self-aggrandize and say "move fast, make MVPs, etc", and then write a post pointing out over and over how people messed up, when they were trying to move fast and make an MVP.

</comment><comment><USER59> Everyone is talking about the technical feat, but the real insight for me is that you should hitch your wagon to a rocket ship.

Pokemon is a rocket ship right now, and any new app has this enormous exposure advantage.

It is also important that it scale well or else you'll squander your advantage.

For what it is worth, I was very impressed by the technical stuff. (It is making me laugh to read about how disappointed others are. I feel like I missed something.)

<comment><USER60> This is the only real takeaway here, as far as I can see - If you build an app that attempts to associate itself with another extremely popular app, then your app will probably be a little popular too.

This is nothing new or insightful, but the author sure found a way to make himself feel good about it.

</comment></comment><comment><USER61> I'm going to use Cassandra for part of my application - the bit that might conceivably be unperformant and very difficult to cache - even though it'll take a few extra days now to get working over using Postgres I'd rather just do this at the start than have migrate a write heavy and main part of the apps functionality while live.

<comment><USER23> Most cloud providers have a BigTable solution already, though not the same as C*, would leave you to build the app over provisioning/configuring a cassandra cluster.

Depends on your application of course, but if you're self-indexing anyway, may as well lean on your environment (given a proper backup/exit strategy).

<comment><USER61> You are spot on here actually - I'm using AWS might as well go to the original dynamo db then.

[https://aws.amazon.com/dynamodb/](https://aws.amazon.com/dynamodb/)

</comment></comment></comment><comment><USER62> > I personally love Erlang and would never use it for an MVP, so all your > arguments are invalid.

Could anyone elaborate on the point the author was trying to make here? is it that erlang doesn't have many pre-existing libraries (for building an MVP) or is not fast enough (or something else)?

<comment><USER63> In all likelihood it is about the relatively lesser abundance of high quality, ready to use building block in the Erlang/Elixir ecosystem vs NodeJS or RoR. In my opinion, Node and its associated ecosystem will get you to your MVP faster, but Erlang/Elixir will provide you with a more solid base to build and scale a commercial application of this kind, it's what they've been designed to do.

</comment></comment><comment><USER64> The more interesting question is how did these apps get their users in the first place?

</comment><comment><USER65> Great job! One thing I noticed is your app requests my location always (even when the app is not on the foreground). It seems like you would only need my location while I am in the app.

You might get a higher acceptance rate.

</comment><comment><USER66> Did you use Google app engine for this and used a third party MongoDB provider/own server? If it was GAE, what was it like using it? Was there anything you didn't like?

</comment><comment><USER67> I'd be curious to know what kind of image recognition software the author used to detect relevant images and if it came with a significant performance hit.

<comment><USER21> I think you could do it very fast. It's just checking for the presence of static elements in the image, and you don't even need to check for every pixel. You would only need to decode the jpg and then check that maybe 30 pixels are the correct color (with a small tolerance). Also you know that every image is coming from an iOS device, so you can throw out any images that don't match a specific resolution, and you don't need to do any resizing or anything. I'm surprised that he didn't talk about resizing images on the device before uploading.

</comment></comment><comment><USER68> Basically, the author knows that best practices are truisms and require common sense to apply.

</comment><comment><USER69> Is there any way to simulate high load (Millions of users) for testing?

</comment><comment><USER70> Aw... it's a $100/mo server, not a $100 server.

</comment><comment><USER71> His conclusion about Doctrine and other ORMs eating CPU and being the huge bottleneck in the app lines up with my experience using the same. The MVC framework itself, Symfony/Rails in his case, can indeed also be a huge bottle neck, though much less than the ORM yet higher than the DB calls themselves. That too has been my experience often.</comment>


A Slow-Motion Trainwreck Facing the Meal-Kit Industry - <AUTHOR> https://medium.com/@byrnehobart/the-slow-motion-trainwreck-facing-the-meal-kit-industry-345f14df45ad <comment><USER4> I feel like the real problem with meal-in-a-box delivery services is that they are trying to fill the empty shoes of a missing full-time wife and mom because there are more two career couples and both spouses now "need a wife" and it can't be found. The problem is that such a service has no real hope of taking the place of someone with actual cooking skill who knows you well and will tweak the recipe to your preferences, possibly without you even having to explicitly ask or remind her.

If you can afford a meal-in-a-box service, why would you not just go to a restaurant where the wait staff will do a decent job as a substitute for your own live-in cook previously known as The Wife?

I mean, this seems like the worst of all worlds. Someone else decides what you will be eating and you have to do the cooking. I can't imagine buying this.

<comment><USER5> > _If you can afford a meal-in-a-box service, why would you not just go to a > restaurant where the wait staff will do a decent job as a substitute for > your own live-in cook previously known as The Wife?_

I always say that these are for people with more money than time.

The reason they don't go to a restaurant is because you _like_ cooking - or at least, you like the idea of being someone who cooks. But the ad copy is right - shopping sucks, finding recipes sucks, throwing away food because you bought too much kale sucks. (Not to mention, cooking a meal and eating it takes 45 minutes - depending on the restaurant, you might be in there for an hour, plus travel time. And remember, time is what they're short on.)

Even if you find four interesting recipes and buy all the ingredients, and cook them - this takes 3x the time than just using Blue Apron, at minimum - <USER2> Friday you've got a bunch of assorted ingredients and no idea what to do with them. (Because you're not a wifemom, and you don't know how to combine those things into a meal.)

But the person they're targeting doesn't _want_ to learn to do that. They just want to buy a pre-configured lego set, and build a spaceship they can eat.

You are not their target audience. Neither am I. But it definitely, definitely exists.

<comment><USER6> I've tried BlueApron and HelloFresh. I enjoy cooking, and the quality of the recipes is great, but damn, it takes too long to make their recipes. Often, they promise it only takes 15-30 minutes for an entire meal, but apparently I'm not a professional chef who can wash vegetables, dice them, prepare marinades, chop garlic, and do all of this in just a few minutes. I end up usually spending between 60-90 minutes just to cook a recipe, which is way too much labor for a meal that is already priced about the same as a restaurant meal.

Granted, the food is much healthier than restaurant food, but my time is too valuable to spend that much. I suspect that other families where both parents work full time (like mine) are the same. Who has the time to spend an hour or two cooking every night? And pay a premium price for it?

I'm cautiously optimistic about Tovala. They are the first one of these that has a fairly unique system where the food just needs to be popped into their combi-oven (bake, broil, and steam) and you just wait until it cooks.

Eventually, we will have fully automated cooking appliances where drones deliver fresh food staples to your house and you get hot meals prepared automatically, but in the meantime, Tovala looks the closest to creating that experience.

<comment><USER7> > Often, they promise it only takes 15-30 minutes for an entire meal, but > apparently I'm not a professional chef who can wash vegetables, dice them, > prepare marinades, chop garlic, and do all of this in just a few minutes. I > end up usually spending between 60-90 minutes just to cook a recipe, which > is way too much labor for a meal that is already priced about the same as a > restaurant meal.

I think this is one place where the focus in lifestyle magazines and meal startups on quick and easy meals has created unrealistic expectations. As you say, unless you have the skills of a professional chef, cooking pretty much anything in 15-30 minutes is unrealistic. More realistically, you would expect cooking from scratch to take 45-60 minutes.

To some extent I feel like people's frustration over the experience comes from under-appreciation of how much time cooking takes. Unless your ingredients come pre-chopped and pre-mixed, one hour from fresh ingredients is normal! Just like the adage "better, faster, cheaper, pick two," cooking has a corresponding dilemma: "quick, easy, delicious, pick two".

<comment><USER8> Are we talking your time, or wall-clock time?

Melt butter, add lemon juice, salt and a dash of hot sauce to make a liquid. Rub liquid over chicken. Put chicken in oven at 400 until done. (How much you need and how long you take depends on whether you did this with a whole chicken or pieces of chicken. Let's call it an hour. Use an oven thermometer if you don't know how to tell.)

Put some water in the bottom of a pot, put one artichoke in the pot, cover, and put on low heat around 40 minutes before your meal.

Use a peeler to take the skin of a Daikon radish off. Peel the rest of it into a dish. Put sour cream + salt on, mix. Sprinkle chopped green onion on top.

Shortly before you're ready, melt butter, add salt. This is to dip the artichoke in.

Wall-clock over an hour because food spends time cooking. My time spent is perhaps 20 minutes. Most of which is spent peeling the radish. And now you've got a main dish with 2 side dishes and enough food to feed a family.

Now a lot of things take longer than that. For example making pancakes means spending a lot of time actually cooking the pancakes. When I make a soup from scratch I probably spend a couple of hours.

<comment><USER7> I meant wall-clock time. You have a point that there are lots of recipes that don't need much hands-on time - I personally do that a lot.

However, since wall-clock time often does need to go up to an hour, you have to schedule it into your day. You can't put the chicken into the oven if you're not home. I think the allure of 15-30 minute recipes is that 30 minutes is sort of the upper threshold for spontaneity: "I'll just cook whenever I get home." The problem is that if your filter is "recipes that take less than 30 minutes of wall-clock time," you end up with a very restricted book of recipes to work with.

<comment><USER9> I have a sousvide cooker and a slow cooker so that I can have the machines make food for me when I am not at home.

Throw some meat into the sousvide in the morning, come home to a really nice piece of meat that you can take right out of the machine. Save any excess and reheat out the next day.

<comment><USER10> You need a pretty good (tight) container though, or the water evaporates.

I intend to get one of those blowtorch attachments to sear afterwards, although I suspect griddle/thick base pan might do just as well.

<comment><USER11> Not terribly, rough fit (like, my tub has a half inch gap around the hole where the circulator goes in) will be negligible water loss unless you start talking multi-day cook times. I just cooked some meat for 24 hours and lost about 2~4% of the original water level

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Here's what my family does: We hired an older woman (from thumbtack.com) to come to our house once a week for 4 hours and cook whatever is in the fridge. I make sure to have plenty of food in the fridge, spices, canned goods, etc. Then she cooks enough food for my 4 person family for about 5 - 6 days (excluding breakfast). She knows our preferences and takes requests. We pay her $25/hr ($100 week). I feel like everyone interested in these meal services should really just have a personal chef. Way better than these pre-made meal services because you have complete control over ingredients and meal types.

<comment><USER13> I guess I respect having the intestinal fortitude to do the responsible thing, but at least in the U.S., seeing any service position with obvious privilege connotations makes people uncomfortable. The meal-in-a-box industry is another clever way to work around this taboo, by hiding the lower-class service workers behind a clean user interface.

Similarly, what's the value-add of Github? Primarily, it's not having to talk on the phone to some guy with a thick foreign accent with kitchen noise in the background. Dealing with a website, even if it's slow sometimes, is a much less socially complicated experience.

<comment><USER14> I... assume you meant Grubhub instead of Github? ;)

<comment><USER15> that makes SO much more sense now, thanks.

</comment></comment></comment></comment><comment><USER16> The long term trend for "meal kits" is very likely just going to have massive local and regional competition. I'm already seeing this in Portland with several meal delivery services that cater to different lifestyles: gluten free, whole 30, extra protein, etc. These are successful "complete meal delivery" businesses. I see no reason why there can't be "meal kit" variations in the future. The cost of starting up a local meal kit business is only going to go down.

In fact, I see a reason local variations will become stronger. A lot of these customers have money and are interested in "farm to table" and "buy local" ideas. So, I'd expect that they could find meal kits that fit whatever diet they want, prepared by a local chef, using ingredients from local farms. This is a great potential avenue for local chefs to promote their brand, in addition to appearances on shows like Top Chef, etc.

So... why would a large company with a national brand matter at all? I could easily see business like Blue Apron just fold overnight, but the meal kit concept shift entirely to, well, small business. Sure seems like the big investment dollars are basically paving the way for local competition, by planting the idea of "meal kits" as a viable option in people's minds.

<comment><USER16> Another turn of thought: the Amazon acquisition of Whole Foods could play into supporting these small businesses. Amazon likes to think of things as "primitives" that get turned into other businesses. Today, your small businesses can use Amazon tools for product warehousing, selling, and even all the associated web properties.

Now, with WF, Amazon may be able to treat fresh produce in a similar way. Sure, Whole Foods could produce and distribute meal kits. But I'd suspect the components of what goes into the meal kits could also be made available, such that the "local restauranteur" could come up with the creative bit - <USER3> recipe - and then have parts like the supply chain of high quality produce, distribution, sales, etc, basically available via Amazon.

It's a little scary thinking about how far ahead Amazon is from it's competition.

<comment><USER10> I think the future is supply chain automation - where a product/service delivery requires multiple sub-services (packaging, storage/indexing etc) and the use of these can be fluid and automated - Why can't I redirect stock to a different packager at the click of a button?

</comment></comment></comment><comment><USER17> ...in the US. We do a similar, but very different, thing here in China, Shanghai. Not only building the meal plans but also cooking and delivering it every day.

The city is flat and dense, 10000+ people per sqmi dense. Every day local food delivery companies jump on their electric scooters and deliver over 2,300,000 meals (2016 data, now probably more). In one city.

I can choose from 2,980 restaurants near me. If I add ¥5 (~$0.8) extra delivery fee, a bit farther, making it 8,600 restaurants. Decision fatigue multiplied by "I'm hungry just get me that deep fried chicken NOW" thing.

The food is very meh. Mid- to high-end restaurants don't do it. Good restaurants have enough business to skip deliveries at all. Meal kits tried and failed here, because people are just too busy and stressed to cook. Average rent is 140% of average salary. Overtime is a norm.

So we figured, why don't we take customer data + preferences, make a feedback loop and build FULL meal plans for them that they will 1) be happy to eat, 2) reach their fitness goals with, 3) be able to afford? By "full" I mean including healthy drinks and snacks. Lots of meal kit companies, food deliveries, and meal plan builders forget this.

We're in stealth mode so far, but I believe this will work in China.

<comment><USER18> Uh, what exactly is your competitive edge? You've framed the problem but haven't provided any details on how using customer data and preferences solves it.

Isn't the most accurate customer preference data the actual real-time decision that the customer makes at the time of order?

<comment><USER17> Hey! Didn't want to provide details that aren't relevant to the parent topic.

We built a system to calculate science-backed meal plans based on customer data. Calories, macronutrients, micronutrients, vitamins, probiotics, fiber. Water.

We have over 5000 cookbooks from all over the World from which we curate our recipes, input them and get full nutritional breakdowns.

It is probably THE most important part of any diet — the ability to actually stick to it and enjoy it. What we want to do is to completely take away the decision fatigue, and provide diverse food that is tailored to your body.

Nutrition is complicated, and things that work for some people may not work for the other. The feedback loop is important. If a customer wants to lose fat or gain muscle, we track the progress and adjust their diets accordingly.

PS: "Real-time decision that the customer makes at the time of order" is fueled by ghrelin and stress, decision fatigue and availability, and is most often poor.

<comment><USER18> Ok, so your product is a niche fitness meal plan rather than a traditional meal plan. Your primary objection to existing options was that "The food is very meh." You can see how that can be confusing.

<comment><USER17> I think that's a big misunderstanding about meal plans in general. What is a "fitness meal plan"? Why "traditional" meal plan cannot count macronutrients? It's not necessarily to lose / gain weight, any food is important and should eventually be tailored to specific people.

</comment></comment></comment></comment></comment><comment><USER5> Isn't this sort of issue faced by 99% of any new business that sells a service or a product? Unless your idea is something patentable, or you have a trade secret that's locked up tight, or you control your product vertically (e.g., you own the only Unobtainium mine on the planet) - can't your business be copied fairly trivially?

(Quick edit: who else remembers everyone and their nephew offering website hosting/colocation at ludicrously low prices in the early-to-mid 2000's?)

<comment><USER19> Not really, no. When Dropbox applied to YC, they had to fill in a section that specifically dealt with how hard it would be to enter their space. It was much harder than it looks, and they convinced YC of that.

Groupon always suffered from being easy to copy and having no appreciable network effects.

<comment><USER20> Were any of the Groupon copycats successful? Maybe it just wasn't that good an idea.

<comment><USER21> No. Living Social was the most successful runner up to Groupon. The problem was that "email deal-based marketing for small businesses" was going to be worth something, but there would only be one valuable winner and no one knew how much that would be worth. So Groupon, Living Social, FB, Google, Yelp, and hundreds of clones all threw in tons of money, slogged it out, and now they're all gone and GRPN is worth $2B, 1/8th of its IPO price.

Exactly the same thing is happening with ride-hailing now. It's harder to copy, but there's too much investment subsidizing it so no one knows what the market will be worth once riders have to pay sustainable rates. But they know being 2nd place will suck.

Citation: I worked at Groupon before and after the IPO.

<comment><USER22> Werent a lot of these acquired by Groupon/LivingSocial? In theory, that would make them "successful" since they had good exits.

<comment><USER23> Not successful at fulfilling a role in society though.

</comment></comment></comment></comment></comment></comment><comment><USER24> We tried Blue Apron but stopped for two reasons:

\- We have toddlers, and the menu was too "fancy". It's difficult to get a 4 year old to eat squid ink pasta.

\- I felt bad about all that wasted packing material and giant ice packs.

We switched to Dream Dinners, which is a local place. My wife goes once a month, picks out a bunch of dinners for the month, and we throw them in the freezer. Each of the dinners fits in a gallon ziploc bag. They were generally easier and faster to cook (pre-chopped vegetables, pre-marinated meat, etc) and there is more choice to it and no shipping containers. Highly recommend.

</comment><comment><USER25> I feel like they should have Meal-Kits at grocery stores. They could make them with all the extra food they have. That way you can go pick up 3 of them and then grab more groceries if need be. It would be way better than all the frozen meals they have.

<comment><USER26> Isn't the grocery store already basically one large meal kit?

<comment><USER27> Love this comment so much I just had to comment and tell you :))

</comment></comment></comment><comment><USER28> It seems that there's more potential for meaningful differentiation than in the case of the Groupon-type services but the rush to be one of the few winners who IPO and damn the customer acquisition costs seem like valid points.

These services just seem very niche-y to me. I'm not really the target market but, for any given service, there's a pretty narrow profile of cost- sensitivity, interest in prepping/cooking but not just buying ingredients, ability to plan a week out, etc.

Finally, if there were a real clamor for meal kits, what's to keep Whole Foods or whoever from just assembling their own meal kits?

<comment><USER29> I agree. It seems like these will eventually lose to just normal automated grocery delivery. You will always need other food than just the kits even if they are cost competitive in NYC, etc.

<comment><USER30> It's not just acquiring the ingredients; there's value in having someone else plan the menu for you. Deciding what to cook can be a challenge! I host an ~8 person dinner party roughly once a week, and it is not unusual for me to spend as much time digging through recipes, trying to decide what to cook, as I put into actually preparing the meal.

Yes, of course you need other groceries beyond the meal kit itself, but that's not the point - the point is that you've paid the meal service to deal with all the boring parts of the process, which often includes the decision-making, so you can just enjoy the cooking and eating.

<comment><USER31> I think too much ambition to be able to home-cook every kind of food under the sun leads to much of this trouble. Focus on a narrower set of things—say, 2-3 national/regional/ethnic cuisines, and/or cooking techniques—and most of the difficulty, expense, and even planning of home cooking goes away.

The wildly globe-hopping table of the home cook is a recent, and kinda silly, development. You can get plenty of variety without trying to prepare meals from every continent.

(this goes out the window if it's a major hobby, obviously, but in that case so should complaints about its difficulty/inconvenience, which are entirely self-imposed)

<comment><USER28> For me it's a hobby and I do like to try new recipes/styles (while recognizing that there are some things I don't do enough to get good at or that just take more work than I'm willing to put in). But I mostly agree with you. I keep an admittedly fairly thick binder of recipes that I probably use a good 75% of the time I even need a recipe. And there are lots of simple things I can throw together in 15 minutes given the ingredients.

</comment></comment></comment></comment></comment><comment><USER32> Whilst I'm not the target market (I enjoy cooking from scratch way too much), I think there are a few things wrong with the analysis:

\- Surely this isn't the first business to make a loss on acquisition in expectation of breakeven. That in of itself doesn't make this untenable. I also feel that the Groupon analogy is a bit underbaked: Groupon (and the ilk) were also I suspect totally unsustainable for the end businesses.

\- There is substantial scope for curation. This in & of itself may not not be enough of course, but this doesn't seem like total commodity land either. Also it isn't just about getting the ingredients bundled together. It is harder than you'd think making sure standard measures of stuff in the supermarket doesn't go to waste from spoilage when trying to cook whilst keeping repetition low. Optimising for this is probably an interesting and not super simple problem.

I've only been exposed to the UK variants. The above may not hold true for other places though.

</comment><comment><USER33> There are businesses with network effects: the more people using them, the better off everyone using it is.

There are businesses with scale advantages: doing it bigger makes it much cheaper.

There are businesses with required huge capital investments: if you don't have the $25 billion silicon foundry, you don't make CPUs.

There are businesses where a national brand is a big advantage, and businesses where local is a selling point.

The meal-kit industry looks like it's halfway between grocery stores and delivery restaurants, and that means economies of scale aren't hugely important, but a reputation for quality is. Local/national can go either way, but most people are willing to experiment every so often and have strong preferences about what they like -- which means that having a lot of players in the market is to their advantage, and long-term contracts are not.

</comment><comment><USER34> The one difference between Groupon and meal kit services to me is that the meal kit services actually provide value over and over for something I actually need to do every day, 3 times a day: Eat.

If I don't use the meal kits, that's fine, but I'm just going elsewhere - restaurants, delivery, take-out, grocery store.

I don't need discount yoga classes or buy one get one froyo coupons every day. You don't need discounts to survive. You can just buy less. Discounts are not a commodity that I wish to purchase often. I have used groupon once, and have been innundated ever since with constant spam about new deals for things which sound like good deals but probably I wouldn't even give them a second look at full price. So I don't bother. I don't need half that stuff anyway.

I hope meal kit services continue to thrive, despite negativity from investors. They are a service that I truly value and will probably keep my subscription to BA going until BA service quality drops or the food stops being as good. So far, they haven't done either.

But for god sakes BA, EASY ON THE GARLIC. You don't need to send me a whole bulb every time when the recipe just needs 2 cloves.

<comment><USER35> There is clearly some value to the meal kits, but when all of the alternatives (restaurants, grocery stores, etc) are very low margin businesses why would you expect meal kits to have the kind of margins that would justify the high customer acquisition costs that the current incarnations of meal kit companies have?

</comment></comment><comment><USER36> A little off topic, but with the acquisition of Whole Foods, Amazon should pick up one of these services to get people into cooking at home. With the complaints about the estimated v real time for prep and cleaning, they should also include a bunch of videos like ChefSteps that show how to effectively cook and clean at the same time.

They should also sell knives and other kitchen tools.

Lastly, these meal providers should have an app with a running timer that gives directions while you cook. For instance, 'while onions are sauteing, wipe cutting board and crush garlic' \--- just like a GPS but for cooking.

The major hurdle for these services is that there is still a certain level of skill assumed -- but if they aren't teaching these skills, the consumer doesn't really come off any better.

</comment><comment><USER37> Been to a Wholefoods lately?... seen the prepared foods section or any grocery store prepared foods lately.... seen how many people buy prepared foods?

Ever see a family eat the same thing. I mean a family of say five and not DINKs.

Amazon acquiring WFM will just make it worse if instacart wasn't already.

<comment><USER38> > Ever see a family eat the same thing. I mean a family of say five

What do you mean by this? When I was growing up the whole family (of 4, plus dog eating leftovers) ate the same meal. Is that not the norm? Is it an American thing?

<comment><USER37> >> Ever see a family eat the same thing. I mean a family of say five >What do you mean by this? When I was growing up the whole family (of 4, plus dog eating leftovers) ate the same meal. Is that not the norm? Is it an American thing?

Yes most likely (American Thing).

I'll give you a rough anecdotal example I have seen:

A 13 year old that is a vegan, A father who is a pseudo body builder (eats lots of meat), a picky 8 year old that will not eat certain colors and of course a gluten, organic mommy.

And of course there is the toddler/infant age where god forbid you don't follow the pediatricians recommendations (despite that humans have survived this far and produce 8 billion people).

Oh and I haven't even got into timing considerations (ie some individuals eat earlier and others later).

Yep its probably an American thing :)

</comment></comment></comment><comment><USER39> I tried hello fresh back when they were promoting it aggressively. The only good thing about it were the neat recipe booklets. I actually kept them and made the meals again later. Everything else was bad. The produce quality was worse than from my supermarket, missing ingredients, stupidly expensive (outside of promotion). I'm amazed they still exist, I assume it's running on investors' money.

</comment><comment><USER40> Switching is different in this business though. In the group deal business, as a customer you're buying individual deals all the time. As soon as not-Groupon has a better deal than Groupon, you switch.

In meal-kit business, you're a subscriber of one service. Switching to a new one means entering all your info again, choosing from the list of options, and waiting for the kits to start shipping to you.

<comment><USER28> Maybe. Signing up for a new account is maybe five minutes work. I might equally be inclined to argue that the switching effort is more than justified by the variety gained by trying a different service.

</comment></comment><comment><USER41> > Really, if you wanted proof that there was a bubble, you'd look for a > refrigerated warehouse REIT.

I know someone working on a roll up of refrigerated warehouses. A REIT might be part of their exit plan but I don't think these meal-in-a-box companies even register on their radar.

<comment><USER42> For anyone else: [http://www.investopedia.com/terms/r/reit.asp](http://www.investopedia.com/terms/r/reit.asp)

</comment></comment><comment><USER43> Local services are the penny auctions of the VC industry. Since your margins are so dependent on achieving scale, there's a strong push to win customers at any possible cost.

Each VC is forced to dump in increasing amounts of money due to sunk cost fallacy for a fixed prize at the end of the rainbow. At the end of the day, the prize won isn't worth the collective investment and the entire industry represents a net subsidy to the consumer in the form of discounted services and referral bonuses.

It's one of the few things that make living in San Francisco bearable as it tends to be ground zero for these kind of gigantic customer acquisition battles.

</comment><comment><USER44> OT: When did Medium start showing bottom-feeding Taboola ad content?

That's a massive disappointment.

 _Update:_ Oh, that waas content. My error.

<comment><USER45> That was part of the content of the article, not an ad slot.

<comment><USER44> Doh! My error.

Thanks. I ... cannot say how absolutely abhorrent I find that stuff. Even when pointed out in articles.

I'm sensitised to it in part because I've taken extreme pains to block as much of that as possible. A harder task than it should be.

</comment></comment></comment><comment><USER46> There's a simpler reason it won't work over the long term: as people get better at cooking, they don't need things like meal kits any more and just make smarter grocery shopping choices.

</comment><comment><USER47> Is there anything we can learn from 'daily-deal' pivots that were successful, and apply them to meal-box ideas in order to beat the curve?

</comment><comment><USER48> No where else can I find a group of people cost benefit analyzing to death one of the purest, simplest, and most fulfilling aspects of life.

The general consensus here seems to be that, "My time is not well spent preparing and consuming, by my own hand, the life giving meals I will eat."

But, of course, I've misspoken. And, now prepare for the assault of many pedantic, infuriated, hacker news commentators.

</comment><comment><USER49> And I thought this was going to be about the companies that produce military rations.

</comment><comment><USER50> generally people who do meal-kits just aren't good at shopping. it isn't cheaper, healthier or faster to cook than regular food. the only thing it might be better at is faster at _preparation_ , an advantage that is negated if you buy a sufficiently large amount of food each time you purchase and pre- prepare (cutting chicken into slices and freezing them, etc.).

tldr: only lazy people with more time than money would be interested in this.

if anyone disagrees go ahead and post your cooking schedule and workflow. i'll point out the glaring inefficiencies (e.g. buying small amounts of food frequently for preparing and then complaining it takes too long to eat; cooking small amounts of food; not preslicing meat upon purchase, etc)

the one thing i'll give meal kits is that you can get a large variety of food.

<comment><USER51> > only lazy people with more time than money would be interested in this.

Opportunity costs are real, people's preferences are heterogeneous, and also I'm pretty sure you're 'lazy' too – using a computer to perform all of those arithmetic calculations it's doing!

<comment><USER50> i've never claimed i'm not lazy. i'm super lazy. if i had unlimited money i wouldn't cook or order from a restaurant. i'd have people literally feed me with a spoon.

this fact, however, is irrelevant from my point.</comment></comment></comment>


TRIX: A Communications Oriented Operating System (1983) [pdf] - vezzy-fnord http://www.textfiles.com/bitsavers/pdf/mit/trix/TRIX_A_Communications_Oriented_OS_Aug83.pdf

<comment><AUTHOR> Silly wabbit. TRIX are for kids!

</comment><comment><USER2> Prolog + TRIX = Erlang?

<comment> vezzy-fnord Heh, not really. TRIX was just an early example of in-kernel RPC and some traditional OS services being in userland, a proto-microkernel.

It's most notable for being the originally proposed kernel for GNU, until it was scrapped in 1987 or so.</comment></comment>


An Argument for Keeping Salaries Secret - <AUTHOR> http://blogs.wsj.com/economics/2010/10/22/argument-for-keeping-salaries-secret/ <comment><USER2> Employers need few arguments for keeping salaries secret. It's _already_ pretty well-known that secret salaries work in employers' favor: less information puts employees in a weaker negotiating position.

It'd be more interesting to see an argument for why _employees_ should keep their salaries secret, because the only one I've heard is that their feelings might get hurt, yet their are several tangible benefits to sharing. If an employee had a better idea of what "market rate" for their position is, or if they knew which employers consistently paid the highest salaries, or if they knew that their employer consistently paid high salaries and yet they didn't receive one, it'd put them in a significantly better negotiating position.

</comment><comment><USER3> No, it makes for an argument for having a transparent and clear salary policy where equal work deserves equal pay, and if you're adding value to the company it should be clear why.

The study doesn't mention the opinions of people regarding their colleagues value-adding.</comment>


Geeks trump alpha males on Wall Street - <AUTHOR> http://www.reuters.com/article/ousivMolt/idUSTRE5B114220091202

<comment><USER2> Sure they're making money particularly from being smart, but would someone be able to explain to me how making money from money contributes to something worthwhile to society?

Is it just that they're being that much quicker in smoothing out prices of stuff on the stock market?

I'm not being snarky, would just like to know.

Another slightly different topic: the trend during the Bush boom years is that the so-called 'smart people' graduated to the financial industries which is where all the money was. This is opposed to the people who I regard as smart and gutsy trying to do something new and of probably greater benefit to other people such as starting your own internet company.

Is it just that it's easier to make money from money as opposed to doing something that's probably more helpful but usually pays less?

<comment><USER3> I won't defend all of finance / trading, but maybe this analogy will satisfy you.

Think of sports tickets. There is massive inefficiency in the primary market, meaning tickets you buy directly from the arena or on TicketMaster. One inefficiency comes from all the season ticket holders who skip the majority of the games and only go to the ones they actually want to see.

We can fix this inefficiency on a secondary market (the scalpers, StubHub, etc). A scalper might make a decent take by finding season ticket holders and buying the unused tickets. Then, the scalper sells the tickets to fans who waited too late to buy (or won't pay full price).

Now we think the scalper is evil, because he just made money without "adding value." Except he did add value... the season ticket holder and the last- minute-fan wouldn't have found each other without great effort. Both ended up happier than if the scalper didn't exist. Also, the scalper takes on some risk... he guaranteed the price he paid to the season ticket holder, had to hold the ticket, and then determine the correct time to sell. If he held the ticket too late (or got too greedy), the game would begin and he'd have a worthless ticket!

We also need to somewhat regulate scalpers because if they have too much of an impact, they can seriously distort and manipulate prices (a very wealthy scalper can buy all the tickets to a popular game and sell them all at 10x the price).

This analogy isn't perfect for high-frequency trading or all market making, but I hope it shows why arbitragers both add value and reduce risk yet seem evil to all the participants.

<comment><USER4> _scalper can buy all the tickets to a popular game and sell them all at 10x the price_

How is this a problem, especially one requiring regulation? Nothing has changed from your original formulation, except apparently that he's now making 'too much money.'

<comment><USER3> Because then the very wealthy scalper has a monopoly, and the monopoly power allows for profit-maximizing pricing, which causes dead-weight loss.

It's better the scalper sell 50% of the tickets at 10x (and let 50% rot) than all of the tickets at 2x (and have nothing rot).

The scalper will let some tickets rot to preserve the 10x pricing because this is a repeated game. If people know that he'd rather let tickets rot than lower prices at the last moment, they'll have no choice but to buy at 10x or miss the game.

<comment><USER5> But there's already a natural monopoly on tickets isn't there? You can only buy them from the venue that the show is taking place at. Surely if they see that the market will bear 10x the price they're asking, they'll just raise the face value price on the ticket. This would make it unprofitable for the scalper to buy them all and resell them, since he could no longer ask 10x the price.

</comment></comment></comment></comment></comment><comment><USER6> Hooray stereotypes. I've never met a computer science PhD who went to star wars conventions. Most of them are very intelligent, social people who do not obsess over anything. The only thing they all have in common is that they like to climb mountains,

</comment><comment><USER7> I find it interesting how there is a high degree of animosity towards finance people on this site.

My theory is that it has something to do with them being successful and making millions without having to venture out and start their own business.

I mean, there are only a couple of roads that lead you to riches. Building a successful company is one of them, being successful in finance is another. I guess on this site, we've all chosen more or less, one road, so we have to rationalize to ourselves why we didn't pursue the other.

Or at least that's just how I feel sometimes.

</comment><comment><USER8> A bit off topic, but I find what the 'geeks' are producing to be the most interesting part of this article. When the next financial mega-crisis erupts (note - _financial_ , not economic - that part comes next), perhaps this will be the reason:

 _John Malitzis, vice president of market surveillance at the New York Stock Exchange's oversight body, told a conference in September that he has seen examples, both in U.S. markets and elsewhere, of computer algorithms malfunctioning. He calls them "algos gone wild."_

Couple 'algos gone wild' with the fact that 60% of trades (article's figure) are HFT algo trades and you have the potential for absolute chaos in the markets. Many of the algorithms mimic each other (crowding into the same trades). Some algos are programmed to essentially hunt down other programs and exploit things they expect them to do.

As the article states, the high frequency traders have moved beyond equities into options. Imagine if we see a global cap and trade scheme implemented, with a marketplace for carbon credits. Could algos 'gone wild' drive the price of carbon credits to some absurd extreme (think the speculation-fueled oil bubble in summer 08, but in reverse) that dramatically influences how much CO2 our collective industries emit?

<comment><USER9> I don't think there's more risk of "algos gone wild" than there is of manipulation and malevolence, as there has been forever.

Software bugs combined with human error are a source of danger though, such as in the infamous Japanese trading disaster (someone transposed the size-- 1-- and price-- ~600000 yen-- on a short-sell of an IPO, effectively giving away more shares than existed). The fail was not so much that the clerk put in a bad order, but that the exchange software wouldn't let the firm cancel it, leaving them to eat $225m in losses.

<comment><USER10> For those who are curious:

<http://en.wikipedia.org/wiki/Mizuho_Securities>

<http://www.physorg.com/news8901.html>

But I thought exchanges could retroactively cancel trades in some cases?

</comment></comment></comment><comment><USER11> Interestingly enough, Goldman Sachs is reporting that quant strategies may be becoming overcrowded, yielding negligible returns: [http://www.reuters.com/article/rbssFinancialServicesAndRealE...](http://www.reuters.com/article/rbssFinancialServicesAndRealEstateNews/idUSGEE5B014020091201?sp=true)

I do believe there is some truth to this, a couple years ago during the "quant bloodbath" we saw a major down swing across almost every quant fund, because they were all employing generally the same strategy.

At the same time, with the trend towards more complex markets, quants will continue to rise in demand at Wall St. firms (especially since their profits dwarf those of the IBanking division). However, that does not mean you have to be a financial engineer to crank out market beating returns. Traditional value strategies will probably continue to be just as good and beat the market over the long term.

<comment><USER12> >Traditional value strategies will probably continue to be just as good and beat the market over the long term.

I _don't_ think so; the most you can do on average is to match the market return unless you have insider information which is clearly illegal. This is because so many has tried the traditional value strategies that the law of large numbers set in.

<comment><USER11> It's pretty well documented that value investing in general will beat the market over the long term.

See: The Super Investors of Graham and Doddsville [http://en.wikipedia.org/wiki/The_Superinvestors_of_Graham- an...](http://en.wikipedia.org/wiki/The_Superinvestors_of_Graham-and- Doddsville)

How the Small Investor Beats the Market by Greenblatt, Pzena, Newberg (Journal of Portfolio Management, 1981)

More recently, James Montier has released research at Societe Generale reflecting the fact that Graham and Dodd-style investments also beat market averages.

The problem that arises nsoonhui is that most investors lack the emotional discipline which is necessary to invest in these types of companies, because of the psychological biases (people have a hard time embracing contrarianism, they usually cannot stomach the occasional stretches where value under performs the rest of the market, i.e.: dot com bubble). This is precisely why the law of large numbers has NOT set in. Many investors will pick up value investing and then drop it once it under performs. So, inefficiencies in markets continue to persist.

<comment><USER13> Take a look at the publication dates of those articles. 1981 and 1984. Right after the "U.S. is going to hell and stocks will never be a good investment" years of the 1970s, and right before the "If I put my money in a good mutual fund and leave it there, I'm guaranteed to make money!" years of the late 1980s and 1990s.

 _Any_ investment strategy becomes less useful when large numbers of people pile into it. They bid up the assets that the strategy dictates they buy, which raises prices and lowers returns. I ran some cross-market analyses of stocks in 2006 when I was working at a financial software startup. I found that basically everything was overvalued: there _were_ no values to be had in the stock market at that time.

A true contrarian right now would hold cash, in the form of physical U.S. dollars. What's the one asset class that _everyone_ is certain will decline? Cash. However, there're fairly good reasons why everyone thinks this, so even now the picture's pretty muddled.

<comment><USER11> "I ran some cross-market analyses of stocks in 2006 when I was working at a financial software startup. I found that basically everything was overvalued: there were no values to be had in the stock market at that time."

I guess you weren't looking at special situations/event driven investments were you? Because I know plenty of people who did well during that year taking advantage of inefficiencies like spinoffs, merger arb, and cap-structure arb, and so on... these are typically the types of investments that Buffett refers to when he said that if he was managing 7 figures he could do 50% a year.

</comment></comment></comment></comment></comment><comment><USER14> As a soon to be graduate, how do I go about getting my foot in the door of a high frequency trading shop?

<comment><USER15> A very successful quant did an AMA (ask me anything) on Reddit a while back. There's a lot of content there, but totally worth the read. If I remember right his background was a masters in math from MIT.

[http://www.reddit.com/r/IAmA/comments/991kc/my_2009_adjusted...](http://www.reddit.com/r/IAmA/comments/991kc/my_2009_adjusted_gross_income_will_be_in_the_8/)

<comment><USER16> Thanks, that AMA in reddit was an interesting (and humbling) read.

</comment></comment></comment><comment><USER17> If it doesn't get out of hand, program trading is a good thing. It allows the value and small investors to get in and out of the markets smoothly and cheaply. As an example, moving to electronic trading killed the option market makers life style by dropping the spread between bid and ask to almost nothing. The problem, it will probably get out of hand.

</comment><comment><USER18> While not without its benefits, the stereotypical technical trader reminds me of a parasite. The fact that people focus on "taking profits off the table" through volatility disgusts me personally.

Whatever happened to value-driven investments... </facetious>

</comment><comment><USER19> wasn't this what helped contribute to the collapse? money loses its value and meaning and just becomes a number of figures and competing algorithms. just seems so pointless to me.</comment>


How the Surprise New Interactive Black Mirror Came Together - <AUTHOR> https://www.wired.com/story/black-mirror-bandersnatch-interactive-episode/ <comment><AUTHOR> Five different endings ... The last time I watched a movie five times in a row was Back to the Future 2 on pay-per-view and boy was my mom pissed.

This is a really cool concept. I'm curious how many franchises could get away with it without it feeling cheesy.

The transitions are continuous - Way cool.</comment>


Twitter Data Mining Reveals the Origins of Support for Islamic State - <AUTHOR> http://www.technologyreview.com/view/536061/twitter-data-mining-reveals-the-origins-of-support-for-islamic-state/ <comment><USER2> Binary classifiers used to determine your political allegation and/or support of some terrorist organization based on your tweets. What could possibly go wrong?

<comment><USER3> That is a good question, and one we should discuss more actively, because if it can go wrong it will go wrong. What happens when an over eager politician learns that "we can predict with X% accuracy if a person will do something bad next year"? I might be cynical, but I do not expect the result will be an increased interest in how society can help people before they do bad stuff. It would not surprise me if instead the argument would be that extensive surveillance is a great benefit to society because it can identify the bad guys with X% accuracy.

</comment></comment><comment><USER4> Link to article [pdf]

[http://arxiv.org/pdf/1503.02401v1.pdf](http://arxiv.org/pdf/1503.02401v1.pdf)

<comment><USER3> I think it is nicer if you just link to the arxiv page instead of directly to the pdf. Then I can read the abstract before downloading it.

[http://arxiv.org/abs/1503.02401](http://arxiv.org/abs/1503.02401)</comment></comment>


Why my Dad went through 24 TVs in 2 years - <AUTHOR> http://krmmalik.posterous.com/why-my-dad-went-through-24-tvs-in-two-years

<comment><USER2> I wonder if this might be a paradox of choice phenomenon as much as it is a feeling-at-home phenomenon. In the store, people are confronted with 20 choices, with a variety of technical numbers that sound important and little obvious visual difference among the sets. They might feel compelled to do more research to make the right choice, or not want to choose at all. In the home, they only have to choose between "This is an experience I would pay for" and "I'd prefer to keep my money."

<comment><USER3> I think it's exactly that. I just bought a TV, and being a technical guy it was an incredibly difficult decision.

120hz or 240? LED or standard back-light? Is a name-brand REALLY better than a vizio?

The thing is, the difference between the low-end and the high-end isn't nearly as pronounced as it used to be. When it came down to it I was only sure that I didn't want a 60hz TV.

I literally waffled between three different sets before I sort of blindly chose one. I love my choice (a lower-end Sony Bravia that was deeply discounted), but it was still way more difficult than it should have been.

There is something about staring at 50 TV's on a wall and trying to choose the 'best' one for you that is almost paralyzing.

<comment><USER4> I effectively solved this (and many similar problems) by moving in with my girlfriend, who is an architect. I made a list of all the TVs that had the specs I wanted, she made a list of all the TVs that lived up to her aesthetic standards. We then bought the only TV that appeared on both of our lists.

edit: Or to put slightly more seriously. I've found that it is much easier to narrow down my choices in cases like this if I make an effort to look beyond the spec sheets and focus on more fluffy aspects like, aesthetic appeal, design and how it will look together with the rest of my furniture

</comment></comment></comment><comment><USER5> My parents went through 2 televisions in 24 years.

Their first television purchase as a couple was debated so long that they ended up getting one from a rent-to-own place to 'tide them over' -- which became their first television when they realized there were no more payments left! 15 years later they managed to only take a few months to decide since they wanted to be able to fully use the Cable they had just bought.

The debate over a potential third television a few years ago led to their divorce. _Really._

<comment><AUTHOR> I have a member of an extended family that is like that. So sad. I feel for you.

</comment></comment><comment><USER6> If I were to setup a tv/boutique best buy type shop I would set it up with at on of couches, free food, and HTPCs. People could come in whenever they liked and enjoy themselves. Sort of like that friend whose door is always open. If they wanted to buy something, they would know where the sales reps were.

<comment><USER7> I work for Best Buy and I believe some of that's been tried probably not to the degree to make it comfortable enough...

My thought after reading this was how do we enable his Dad to sell a new one out store stock (maybe via mobile device) and get some sort of affiliate pay thus decentralizing the whole concept... seems very possible by APIs Best Buy can create only a need to make it easier to use in any living room by anyone.

<comment><USER8> I'm going to jump to a conclusion here. Something that krmmalik's dad could do, that most of us couldn't, would be say "Why don't you take it home with you" since he sells TVs for income. Passively making everyone a salesperson is an interesting concept, but it doesn't satisfy the "here and now" of buying and taking something home.

<comment><AUTHOR> Actually, he started doing that recently. He let people trial the TV before they decided whether they want to commit to a purchase or not.

The only downside (since he has only 2 staff) is alot of backwards and forwards in terms of delivering the TVs and keeping tabs on who owes what. But it DOES work

</comment></comment></comment></comment><comment><USER9> Pasting just the good part:

* Samsung, by far has the greatest variation in terms of quality between its range of models.

* Sony TVs are artificially expensive

* Plasma TVs are ridiculously high on power consumption

* Panasonic (for me) still has the best Auto Setup and Menu Interface

* Panasonics, on the whole have the better sound quality

* Backlit LED is better than EdgeLit LED

* Samsung is most generous with its feature set

* Your choice in Manufacturer brand of TV has a real effect on what people think of you

* Manufacturers tend to (generally) optimise one type of external interface more than the other. Eg. HDMI better tuned than Component output. This is down to the way they manufacturer the circuitry, and not necessarily due to the type of technology itself

<comment><AUTHOR> I did have more observations, but i didnt want to bore people.

<comment><AUTHOR> Thanks Eru. I had in fact written it for the purpose you mention. That was my interest in all of this, but then people took from the tech side too, so thats great as well ;-)

<comment><USER10> Yes, one article can serve two purposes.

</comment></comment></comment></comment><comment><USER11> This reminds me of the good ol' tupper party in several ways:

\- all aspects of the product are explained in detail by a competent person,

\- product recommendation comes from someone you trust personally,

\- explanation and recommendation are based on demonstrable personal experience using the product.

While this seems to be an excellent approach to uncertainty reduction in the sales process, I'm not sure how that scales as a business. You can't make a living selling one TV set a month (or a week, for that matter).

<comment><AUTHOR> I agree, but perhaps there is a way of extracting the influential triggers and replicating them in a scalable way? I dno.

</comment></comment><comment><USER12> > _Plasma TVs are ridiculously high on power consumption_

This seems to be an urban myth. Cnet's test (link below) show that for a 42" TV, the yearly cost is roughly:

      LCD $25 - $40
      Plasma $40 - $50

Fractionally more power consumption, not _ridiculous_.

Assumes $0.11/kWh, on for 5hrs/day. Ranges eyeballed by me. See full data here: <http://reviews.cnet.com/green-tech/tv-consumption-chart/>

<comment><USER13> Maybe his results are skewed because they spent more time watching the Plasma TV.

<comment><AUTHOR> Good point ;-) I'll keep this in mind for my own future purchases. Thanks!

</comment></comment></comment><comment><USER14> If you're really into something, going into business selling that thing seems like a good deal. I know a reputable used car dealer in my hometown--he and his family go through cars at a pretty fast rate, too. They just keep the dealer plates on them and use them until they can get another one wholesale and sell the old one. I don't know if he's made any sales that way, though.

</comment><comment><USER15> I think the real reason it was easier to sell these TVs from his home is that the HDTV market is so confusing right now to the average end-user that they just want an informed person to give them an honest "this is what you should buy". Who is more qualified than a TV salesman to make this recommendation and when is he more honest than when he's selling to himself?

<comment><AUTHOR> Right. Absolutely. Thats essentially what i was observing.</comment></comment>


Icahn Doubles Down: Buys Another 7 Million Shares of Yahoo - <AUTHOR> http://www.alleyinsider.com/2008/11/icahn-buys-another-7-million-shares-of-yahoo- <comment><USER2> That's what I've been saying for a while. Yahoo is WAY undervalued. It has cash, it's running at a profit, it has the most popular portal in the world, and MASSIVE name recognition. Additionally, in the developing world, yahoo is the defacto standard.

Yahoo is not going anywhere soon, no matter what the press says. P/E is good on that share, yahoo is a certain buy at the moment.</comment>


How to avoid duplicates when you insert millions of entries into a MySQL table - <AUTHOR> http://youghourta.com/2017/11/21/avoid-duplicates-insert-hundreds-thousands-entries-mysql-table/ <comment><USER2> I'm not a DBA and, without bothering to RTFA, I'm going to guess the answer is along the lines of "use unique indexes"?

<comment><USER3> That's not nearly as much fun as reimplementing the functionality yourself.</comment></comment>


Stealing Computer Code Isn't Theft, Court Rules - <AUTHOR> http://h30565.www3.hp.com/t5/Policy-Watch/Stealing-Computer-Code-Isn-t-Theft-Court-Rules/ba-p/2814 <comment> Tuna-Fish That's right, it isn't theft, it's copyright infringement. There is a difference.

</comment><comment><USER2> "Taking a copy of computer code isn't theft by that 1996 law because it's not goods" is what they ruled.

</comment><comment><USER3> Couldn't the federal government amend that law (the one cited as covering physical goods, etc) to include computer code?

<comment><USER4> Sure, but they can't make past actions a crime only future ones.

</comment></comment><comment><USER5> Could you convince the court that an MP3 file is just computer code? And downloading an MP3 file is not theft?

<comment><USER6> Conversely, if you comment digital goods into software, is it still "computer code"?

</comment></comment><comment><USER7> Curious; would it have been theft if the code had been copyrighted?

<comment><USER8> All creative works, including code, are protected by copyright the moment they are created. The protections of copyrighting are limited though, and at the time he was caught Mr. Aleynikov had not done anything other than copy the code. There was no distribution to other parties and no sale of the code, which meant there were limited damages. In other words, if they went after just copyright then there was no real difference between this guy stealing a font or stealing the software itself- the punishment would have been minimal at best. Because of this the focus was placed on trade secrets, and of course that failed to work due to the reasons the article addressed.

</comment></comment><comment><USER9> I just love the title. It basically amounts to "stealing isn't theft". But anyway, this is a toughie. I'm not sure if that was a good decision. The law may not see it as theft but realistically, it seems like it to me. I agree about the part of the ruling that says that it isn't considered theft because it was never sold but I'd ask if it was used. They use the example of the formula for Coca-Cola. Well, if I stole it and even made it publicly available but no one actually used it then that's not theft though in reality it'd be a scary prospect if I owned Coke as I'm sure someone would use that recipe.

Putting the law aside for a moment, doesn't it make sense that simply obtaining source code without permission is unethical but shouldn't be illegal so long as its never used without permission? The funny thing about code is that it falls into the area of ideas more than products but at the same time once it's used it does become property in a way. It's a tool but there are a lot of different ways to create any given tool as far as code is concerned.

It's like language. You can't own words but you can definitely steal the ideas conveyed by words from someone else and that shouldn't be okay. It's like writing books. Two people can write the same story using different words/word combinations and one couldn't say the other plagiarized as its not like two people never had the same idea before. But in cases like this, you just know it when you see it and I don't know if the law will ever be able to adequately deal with these kinds of situations because of the nature of them.

<comment><USER10> _"It's like language. You can't own words but you can definitely steal the ideas conveyed by words from someone else and that shouldn't be okay. "_

Why's that a bad thing? If the idea is lifted wholesale, it's usually easy to see where it came from, and if it is used as a basis for remixing/tweaking, value has been added.

In either event, the world is a richer place. What's wrong with sharing?

<comment><USER9> It's not a bad thing at all. I was hoping to convey your point about being able to tell where ideas come from but maybe I didn't so well.

Its one thing to steal an idea, use it as-is, remix it, whatever. That's fine. What's wrong is taking an idea and implementing it in a completely identical way. Like if someone took the source for MS Office, compiled it and just rebranded it then that's obvious theft. Of course the idea of a desktop publishing suite isn't something that can be stolen. There's a million ways to clone MS Office as far as the source is concerned so it's not theft so long as your implementation is unique to you. That's what I was getting at here. And the other thing is that I don't know if any law really could cover the kind of situation the article is about. It's just one of those things that's easy to spot when it's presented but hard to codify and describe.</comment></comment></comment>


The Afterlife Of A TV Episode: It's Complicated  - <AUTHOR> http://www.npr.org/2012/10/23/163408746/the-afterlife-of-a-tv-episode-its-complicated

<comment><USER2> Not a good article: 3 paragraphs in, I have a big question: "Why is everything about Tee Vee episodes so disjoint?"

For crying out loud, NPR, answer the super-obvious, elphant-in-the-room question. NBC Universal set up this stupid, byzantine arrangement on purpose. What was that purpose? Does this stupid, byzantine arrangement fulfill that purpose?

I expect more from NPR than mass media "he said/she said" dodging of any ethical implications of the actions they report on. Pin some blame, or let us know why this behavior emerges.</comment>