Removing JavaScript's 'this' keyword makes it a better language - <AUTHOR> https://medium.freecodecamp.org/removing-javascripts-this-keyword-makes-it-a-better-language-here-s-why-db28060cc086 <comment><USER2> If you want to be a C programmer, you need to learn how pointers work. If you want to be a C++ programmer, you need to learn STL and templates. Java, Python, every language has its idioms. Javascript is no exception ... it's a simple, untyped language that only has floats, uses prototypal inheritance and, yes, "this." These aren't bugs, they're features.

The web would be a better place if Javascript developers put all of their effort trying to write code in the language they would rather be using into writing better code in the language they are using.

<comment><USER3> Seems like maybe there's a balance here. On one hand, JS was designed with a particular vision (prototypal inheritance, etc.) and it's good for programmers to understand and follow that vision. On the other hand, even JS experts admit that there are plenty of warts and legacy oddities in JS, and we'd do a lot of things differently if designing the language from scratch. I guess it's unclear where `this` fits in. It's closely tied to the nice elegance of the language, but it's also a huge source of beginner-unfriendliness. IMO it could at the very least have some ease-of-use improvements.

JS has gone through lots of careful language changes (strict mode, arrow functions, classes), and tools like ESLint and TypeScript help limit confusing parts of the language, and I think it's worthwhile to put at least some effort into making JavaScript better rather than just accepting it.

<comment><USER2> Fair enough, but I don't think avoiding "this" altogether in order to pretend Javascript is only a functional and not also a prototypal language helps. Doing so is just going to make the language more confusing than it really is.

</comment></comment></comment><comment><USER4> I disagree with this article. There's no such thing as "this losing context." Its simply changing context, and you can easily maintain the context with bind/call/apply/arrow functions. It's a very useful feature of JS that, like special features in all languages, must be treated with care so that other developers can reason about how you're using it.

<comment><USER5> You can also "easily" forget to call bind. In other languages, methods are simply bound by default. What's the argument for _not_ doing it that way (besides "implementation details")? Why would you rebind a method in the first place? Seems like a "great" way to cause confusion.

<comment><USER6> Rebinding `this` is the key for sharing methods using prototypal inheritance. It allows methods on the prototype object to dynamically dispatch to methods depending on the child you are calling it on.

<comment><USER7> I had always been taught that inheritance is an anti-pattern and my experience has been that it makes code more complicated. However, I don't have a lot of first hand experience with it. What would the argument be for why you would want to use "this" to implement prototypal inheritance?

<comment><USER8> Traditional class-based inheritance is an antipattern compared to composition because the child class's API is tightly coupled to its parent: multiple inheritance of implementations is a mess to reason about, and single inheritance unduly privileges a single parent object that makes refactoring hard when the API of the child or parent has to change.

Composition does not face these issues because instead of a parent class, the outside class's API is not beholden to the inside class's API.

Similarly, in prototypal inheritance, you get to specifically control API by binding or calling 'this' to any choice of object, or select methods to put in other objects, or even replace a method of an object with another method of the same name at runtime, or declare new fields and methods on objects at runtime. This makes prototypal inheritance very open for extension in a way that class-based inheritance cannot be. The downside to this is that JS does not have language features that sufficiently guarantee that an object is closed for modification: in class-based languages classes are a language feature that give a sort of guarantee about the API of an object, but JS objects have no mechanism as powerful as that, and you will need to roll your own. Hence the eventual development of languages and extensions to JS like TS, Reason, Flow that offer these guarantees that transpile to JS.

<comment><USER5> > Similarly, in prototypal inheritance, you get to specifically control API by > binding or calling 'this' to any choice of object, or select methods to put > in other objects, or even replace a method of an object with another method > of the same name at runtime, or declare new fields and methods on objects at > runtime.

None of this sounds like a good idea to me.

<comment><USER8> Indeed it isn't, and is very lousy to reason about with... until you avail yourself to the sophisticated type systems more commonly found in ML and Haskell through, say, Flow or TypeScript that gives you good guarantees through static analysis as you write.

</comment></comment></comment></comment></comment></comment></comment><comment><USER9> Just popping in to recommend Kyle Simpson's "You Don't Know JS" series. He breaks down "this" and other potentially confusing JS concepts in an easy-to- understand way. [https://github.com/getify/You-Dont-Know- JS/blob/master/READM...](https://github.com/getify/You-Dont-Know- JS/blob/master/README.md)

<comment><USER10> Looked like a really great resource but it would have been so much better if it was an epub or pdf. I tried it but now it's asking me to download some app :/ (Maybe I missed a step)

<comment><USER11> This [[https://gittobook.org/books/57/You-Dont-Know- JS](https://gittobook.org/books/57/You-Dont-Know-JS)] may be what you need. It seems to be the whole six books on one page, with .EPUB and .MOBI available for download.

<comment><USER10> Thanks, this is just what I needed :)

</comment></comment></comment></comment><comment><USER3> My take is that `this` is fine and straightforward as long as you follow a few rules:

1.) `this` should _only_ be used inside a class method.

2.) Never use `someClassInstance.someMethod` as a value (invoking it is ok, but accessing it without invoking it isn't). Make it a bound method using class field syntax or wrap it in an arrow function and invoke it there.

3.) Never use `function` syntax for function expressions (e.g. callbacks), only arrow functions. Callbacks should never need `this` because the information they need should be provided via arguments.

Fortunately, modern tools make this pretty easy to follow. #1 is mostly enforced naturally by TypeScript; if you try using `this` in a plain function, it will yell at you unless you explicitly annotate what `this` means. #2 is enforced by the TSLint rule no-unbound-method. #3 is enforced by the ESLint rule prefer-arrow-callback. With these rules, even beginners on my team have rarely/never made `this`-related JS mistakes.

</comment><comment><USER12> people keep wanting to make JS fit into the space of C#/Java OOP class-based stuff. Prototypical inheritance is so cool and useful and lightweight, _this_ is quite versatile once you understand the mechanisms and how to bind it. Why people keep trying to "fix" JS so that it conforms to their class-based expectations is beyond me. I like how it works now.

<comment><USER13> They do that a lot. Look at Swift, its basically "I hate that Smalltalk-style stuff" and want my own version of C++. Java and JavaScript are examples of the same thinking. I often wonder what would have happened if Netscape had actually allowed a Scheme-like language in its browser.

</comment></comment><comment><USER14> The fact that Javascript is prototypal language is really cool once you get your head around it. It doesn't seem like an advantage to get rid of _this_ (which would make it no longer prototype-based) just to have another functional language.

<comment><USER15> Reading You Don't Know JS really made me appreciate certain aspects as features and not whimsical bugs.

<comment><USER14> JavaScript: The Definitive Guide by David Flanagan did that for me. Once I finally got prototypes and _this_ , my JS code really took off.

<comment><USER15> I have heard about it. I have to check it out someday, even if just for historical purposes.

</comment></comment></comment></comment><comment><USER16> Medium and "blog-driven development"... six months later the person changes their mind and you're left with an architecture to maintain.

Subscribe here [link].

Like my post [link].

My Amazon wishlist [link].

Follow me on Twitter [link].

</comment><comment><USER17> My opinion is that generally, implicit `this` is in many ways similar to null pointers in that it was a big design mistake that was somehow copied to to many common languages without a good reason. It adds a special case to so many things, and it could instead just be a regular function parameter and some syntactic sugar. If e.g. object.method(param) expands to Class.method(object, param), you just end up with a special case less and a more cohesive language in general. I'm very happy more modern languages like Rust seem to be taking this path.

</comment><comment> c-smile `this` is just an environment parameter in JS and must be treated as such.

Any function call in JS is a short form of this:

        func.call(its_this,arg0,arg1)

In the same way as arguments at call site are passed through named parameters into function body, `this` parameter is passed to the function from outside.

That stands true for any language that uses _this_ keyword. C++, Java, etc.

No rocket science in all _this_.

<comment><USER3> I'd say it's a fundamental language design question of how to properly mix classes and first-class functions, and there's no clear answer. More specifically, if you access `myInstance.myMethod` without invoking it, what should happen? Should it "carry along" `myInstance`, and how should that work? Different languages have different answers:

* In Java, their solution is to simply not have first-class functions, so the syntax isn't possible. Method invocation (`myInstance.myMethod()`) is a special syntactic form; it's not just a property access and function invocation. There's a special `myInstance::myMethod` syntax that's like a lambda and behaves as expected, including allocating a new instance each time it's used.

* In Python, `myInstance.myMethod` _always_ allocates a new function object, just like `myInstance.myMethod.bind(myInstance)` would do in JS. This avoids the mistakes from JS, but is a bit magical and inefficient (though I'm sure the implementation can optimize it). For example, `arr.append is arr.append` is false because simply accessing a method creates a new function object, so you'll get two different function objects. Still, this has a certain elegance because method invocation doesn't need to be seen as a special syntax like it is in Java and JS.

* In JavaScript, method invocation (`myInstance.myMethod()`) is a special syntactic form like in Java that passes along `this`, but `myInstance.myMethod` is also allowed and _drops `myInstance`_. This is efficient if you didn't care about `this`, but can be surprising to beginners and requires more care than in other languages.

To compare these: Python and JavaScript are flexible because they allow dot syntax, i.e. methods as first-class functions. JavaScript and Java are efficient because they don't do an unnecessary allocation unless you opt into it. Python and Java are harder to misuse because they don't provide a syntax for accessing `myMethod` without `myInstance` bound to it.

</comment></comment><comment><USER18> Douglas Crockford has argued against using "this" for years:

[https://vimeo.com/118740253](https://vimeo.com/118740253)

(start around 35:40)

</comment><comment><USER19> This (no pun intended) is just a a rehash of the Functional vs Object Oriented Programming debate. And certainly Javascript's ability to do FP is one of Javascript's strengths. But personally, I find OOP to be an excellent metaphors in the web programming world that matches the environment quite well. FP has its place but it's not a magic bullet and even if it is amazing that doesn't mean that other paradigms are never appropriate.

</comment><comment> martin-adams I have found that the best way to avoid any confusion over the use of 'this' is to use arrow functions.

</comment><comment><USER20> This sounds more like a problem with people not knowing how this works in Javascript and not a reason to avoid this altogether.

</comment><comment><USER21> The "this" problem is already solve by arrow functions.

</comment><comment><USER22> Oh, fuck off. I'm tired of people who don't get that 'this' is a feature, not a problem. What a skewed perspective of JavaScript some people have gotten over the years :(</comment>


Ask 37signals: The genesis and benefits of Rails - <AUTHOR> http://www.37signals.com/svn/posts/660-ask-37signals-the-genesis-and-benefits-of-rails <comment><AUTHOR> It's really interesting to note that he thinks the biggest benefit from rails for 37 Signals has been hiring contributors. It makes a lot of sense and is something to keep in mind. Though obviously not easy, any company that can open source part of their product and get people excited about it will garner an invaluable recruitment pool.

It's even applicable to YC; open sourcing Arc would likely be a very good pipeline for future YC founders (my guess is better than news.yc).</comment>


Adobe Is Spying on Users, Collecting Data on Their EBook Libraries - <AUTHOR> http://the-digital-reader.com/2014/10/06/adobe-spying-users-collecting-data-ebook-libraries/#.VDPfmaZXfCQ

<comment><USER2> In plain text is bad enough: bad would this have been found without it?</comment>


How to create a biased coin and prove it with math - <AUTHOR> http://izbicki.me/blog/how-to-create-an-unfair-coin-and-prove-it-with-math

<comment><USER2> Reminds me of to achieve a fair coin toss result with a biased coin -

Toss the coin twice, if result is HH or TT, repeat. If result is HT or TH the result is either H or T ( _apriori_ selection of either the first or second toss, WLOG).

<comment><USER3> [http://en.wikipedia.org/wiki/Randomness_extractor#Von_Neuman...](http://en.wikipedia.org/wiki/Randomness_extractor#Von_Neumann_extractor)

</comment></comment><comment><USER4> I have a problem with the idea behind this - there's no proof that the coin is biased; even flipping it a hundred times and getting the same result is possible with an unbiased coin. All that statistics gives you is the probability of having a result at least this extreme with an unbiased coin. If this probability is low enough (often 1 in 20 or 1 in 100, but sometimes as low as 1 in 5), the "hypothesis" of the coin being unbiased is rejected, but this rejection will happen erroneously 1 in 20 or 100 or 5 times. As exemplified by the XKCD cartoon: <http://xkcd.com/882/>

<comment><USER5> > All that statistics gives you is the probability of having a result at least > this extreme with an unbiased coin.

If you subscribe to frequentist statistics and use the null hypothesis of "coin is not biased", yes. But if you're a Bayesian you can compute the probability that the coin bias is greater than a given amount.

<comment><USER4> Granted. But in either case, there's no proof - only a probability that you haven't reached an incorrect conclusion. I associate the concept of proof with logical certainty, and no statistical method will give you that.

</comment></comment></comment><comment><USER6> In this case, the graphs don't seem to add any more clarity beyond what is already provided by the counts (e.g., 47 heads, 53 tails).

I would be more interested to understand to what extent each coin appears to statistically differ from a fair coin, and in fact that's what I imagined the article would cover, given the title.

<comment><AUTHOR> That's exactly what the graphs were trying to convey. Maybe it could have been explained more clearly?

<comment><USER6> Plotting it out forces the reader to try to visually calculate the integral. Wikipedia gives a nice treatment of how to get a numerical answer to "What is the probability that this coin is fair:" [http://en.wikipedia.org/wiki/Checking_whether_a_coin_is_fair...](http://en.wikipedia.org/wiki/Checking_whether_a_coin_is_fair#Posterior_probability_density_function)

<comment><AUTHOR> I actually tried including an analytic solution as well, but it took up a lot of space and seemed like clutter. I figured most people would prefer the graphical solutions anyways.

Thanks for the link, I should include that inside the post somewhere. _EDIT: Done._

</comment></comment></comment></comment><comment><USER7> It's easier to just practice flipping coins. If you start on the same side, you can train yourself to flip the same height/force/rotations each time. This allows you to know what side it usually lands on.

<comment><USER8> Wouldn't it be more rewarding to practice faking flipping a coin? Give it some wobble, but make sure it doesn't actually flip over.

</comment></comment><comment><USER9> Thanks for sharing. I think it's a better math lesson than coin tampering lesson. Hard to imagine the wrench is state of the art. :-)

One of the subtle lessons here is just how many tosses you have to make to get a high confidence level. In business, how often do we get that many rolls of the dice or tosses of the coin before having to decide? And what's that say about how confident we should be? (Perhaps this is way so many HN folks have pivoted)

</comment><comment><USER10> i don't think you need to go to such visible lengths to bias a coin. if one face of the coin was weighted more (by using a heavier alloy), it would likely bias it simply because when/if it bounces, it would be more likely to land with that face down.

maybe?

<comment><USER6> Codayus, if you notice this, you appear to be hellbanned (all of your comments for the past 10 days are dead, including the one in this thread). I looked over your comment history and I can't understand why this would be, so I'm alerting you in case you want to ask PG for a reprieve.

<comment><USER11> I'm not a "having conversations with 'pg over email" kind of guy, but I've found him pretty responsive on "it doesn't look like this person should be banned" mails. Next time, you might find it less effortful to bang out a quick mail to firstname.lastname@example.com to fix stuff like this.

(I don't know what the deal is with accidental hellbanning, but it seems to happen with some regularity).

I mailed him already for this user, though.

<comment><USER6> Thank you. I'll try that approach next time.</comment></comment></comment></comment>


Installing Node.js On Ubuntu Screencast Tutorial - <AUTHOR> http://nodenode.com/post/1197688151/installing-node-js-on-ubuntu-screencast-tutorial

<comment><USER2> > 6\. Install it: sudo make install

Guys, this is Ubuntu, not Slackware. Please, if you don't know about dh_make/debuild or too lazy to use them, at least use checkinstall.

<comment><USER3> I don't know about those things. Got a link to some good documentation on them?

<comment><USER4> sudo apt-get install -y checkinstall

Then in root of project:

./configure && make && sudo checkinstall

</comment></comment></comment><comment><USER5> sudo add-apt-repository ppa:jerome-etienne/neoip && sudo apt-get update && sudo apt-get install nodejs

will install it too. i maintain a ppa for current ubuntu of nodejs to ease installation. [http://blog.jetienne.com/2010/08/how-to-install-nodejs-on- ub...](http://blog.jetienne.com/2010/08/how-to-install-nodejs-on-ubuntu.html)

<comment><USER6> I have done this and it worked excellently. I notice there are lots of references to your ppa around but few thank-you notes, so thank you!

</comment></comment><comment><USER7> The more difficult question is how to install node as an unprivileged user? Here's how

wget <http://nodejs.org/dist/node-v0.2.2.tar.gz> && tar xzf node-v0.2.2.tar.gz && cd node-v0.2.2 && export PREFIX=~/opt && ./configure && make && make install && echo 'export PATH=~/opt/bin:${PATH}' >> ~/.bashrc;

Otherwise any npm package will be able to rm -r you.

<comment><USER8> I totally agree. npm will keep screaming if you run it as root and for a good reason. Don't run third party modules as root. This article describes the process in more detail

[http://increaseyourgeek.wordpress.com/2010/08/18/install- nod...](http://increaseyourgeek.wordpress.com/2010/08/18/install-node-js- without-using-sudo/)</comment></comment>


Gas-focused Qatar to exit OPEC in swipe at Saudi influence - <AUTHOR> https://uk.mobile.reuters.com/article/amp/idUKKBN1O20DT <comment><USER2> The headline made me instantly wonder whether anyone here is still using the GNU Assembler in a meaningful way.

<comment><USER3> I don't like att syntax because of its warts. And nor the Wintel syntax with its stupid macro stuff.

Does gas support Wintel?

</comment></comment><comment><USER4> I think Qatar is seeing the writing on the wall for OPEC. The US production is now high enough that OPEC can't really control prices anymore. What good is obeying the rules of a cartel who have no market power?

The real downside to all of this is that OPEC's restrictions to production in order to raise the price of oil also had the effect of reducing the use of fossil fuels. Climate change is real and atmospheric C02 plays a major role in it. With oil cheap, you'll see more SUVs on the road.

</comment><comment><USER5> There's also an underlying conflict between Qatar and Saudi. It's not going to turn into a war while Saudi is still engaged with Yemen and Iran, but: [https://www.theguardian.com/world/2018/sep/01/saudi- arabia-m...](https://www.theguardian.com/world/2018/sep/01/saudi-arabia-may- dig-canal-to-turn-qatar-into-an-island)

</comment><comment><USER6> Yesterday:

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


Super Commuters Explain Why Their Neighborhoods Are Worth It - <AUTHOR> https://www.trulia.com/blog/why-my-monster-commute-is-worth-it/ <comment><USER2> Apparently I'm a supercommuter, with my 1 hours and 15 one-way trip to work. I can tell you that no matter what these people say: it's not worth it. You essentially turn an 8 hour work day (plus whatever lunch time you have) into a 10.5 hour work day.

Given 7.5 hours sleep and 3 hours to do stuff like waking up, cooking dinner and other work around the house, it leaves you with a meagre 3 hours of spare time each day, which is very little time to spend on hobbies and, if you have them, loved ones.

</comment><comment><USER3> How much of it is choice though? I suspect the vast majority of super commuting isn't by choice - especially if you include people who want to have any money left over after baseline expenses.

If you work in Mountain View for example there is nothing on the market less than 1 million, so you would have to be at the high end of earners at _google_ to get a house there (I recall a person on twitter saying that they were unable to afford Mountain View or Palo Alto even though both she and her husband worked at google).

I commute for 3 hours a day, and that required a 200k down payment.

I can't imagine someone making a even twice median wage getting much closer than that, even renting.

<comment><USER4> How large a percentage of post tax income are people comfortable paying into mortgage in the US?

1 million is a lot, but that's the average house price in my area as well, and we are certainly not getting SV level salaries here, so it seems quite conservative that two Google employees can't make payments on a $1 million house.

I mean, 150k is what, roughly 8k a month take home? (Don't know CA tax). Two people making that can easily afford 7-8k a month on the mortgage.

Most people here are paying 50-60% of household income as mortgage payment.

Myself included, but that's because wife no longer works. It was 30% when she was still working, and I'm intentionally overpaying to derisk for the next recession, as well as being on a shorter term (10 years).

Crazy though, interest rates just have to go to 7% and most I know will lose their house.

<comment><USER5> > _How large a percentage of post tax income are people comfortable paying > into mortgage in the US?_

Isn't a substantial portion of a monthly mortgage payment deductible?

> _it seems quite conservative that two Google employees can't make payments > on a $1 million house._

With 20% down, that comes out to ~$5,000/mo in principal, interest, taxes, and insurance. That's $30k/year/person, which is certainly a lot, but it's also within reach of someone making ~$100k+.

I think the most unlikely part of that scenario is the $200k down payment. Maybe people are borrowing more to get a huge mortgage, in which case I'm sure you're right.

> _interest rates just have to go to 7% and most I know will lose their > house._

Because they didn't get fixed rates? Or just hypothetically, they wouldn't be able to afford their house today?

<comment><USER4> > Isn't a substantial portion of a monthly mortgage payment deductible?

Wow, mortgage payment deductions on owner occupied properties exist in the US?

Makes sense why people talk about pre-tax income when calculating affordability there then. Here nothing about a mortgage payment is tax deductible for the property you live in, only the interest of a mortgage payment on investment properties, and that rule is not long for this world.

> I think the most unlikely part of that scenario is the 200k down payment

The down payment requirement is steep, but here it is 20% which isn't nothing, and we saved that in three years on slightly above average incomes for the area. Granted, living in house sharing arrangement so we could actually save.

> Because they didn't get fixed rates?

We generally can't fix mortgages for terms longer than 5 years here, so interest rate risk exists until you have a decent amount of equity. Most people fix for 2, because for the past decade rates have only been going down, but I imagine that pendulum has swung and people are carefully watching what's happening in the US.

</comment></comment></comment></comment><comment><USER6> I'm miserable with one hour of daily commute. Miserable! Folks are doing 4 and justifying it? Please, this is an attempt by Trulia to convince suckers that's it's okay to buy a house even if it means spending 4 hours a day on the road.

</comment><comment><USER7> "How Pumping Loads More Fossil Fuels Into The Atmosphere For Four Hours A Day In A Misguided Attempt At Finding A Solution To The Hyper-Inflated Urban Housing Market Is Made Up By The Fact I Get To Listen To My Podcasts"

<comment><USER8> I'm eager to read your alternative solution to the problem. I'm in a city whose public transportation is a joke. It'd take me longer to get in, if it didn't breakdown, than to drive my 1 hour to 1.15 hour commute.

Plus, for $360,000 I paid for my house, an acre of land, privacy, and piece of mind for my family would get me, maybe , MAYBE, a townhouse in an area of the city that is surrounded by sketchy neighborhoods.

It's not just about "getting to listen to podcasts", it's about getting more for your money in most cases.

<comment><USER9> I interpret the parent's comment that real solutions lie beyond individual action.

</comment></comment></comment><comment><USER10> What these people don't understand is that if urbanism was better adopted in the US they would be able to get to their "leafy suburb" (as the article puts it) without the neck breaking commute.

<comment><USER11> What makes you think they don't understand that? What is 'urbanism' anyway?

</comment></comment><comment><USER12> > _Every Monday morning, Jamila Souffrant starts her work week with a two-hour > drive, from Brooklyn, New York, to Morristown, New Jersey. When she pulls > into her office, she doesn't feel exhausted; she feels inspired and > energized, thanks to a weekend spent strolling with her family through their > secluded, leafy neighborhood._

This is like adding a mini-road trip to your daily routine.

A coworker at a previous job would commute from somewhere in Indiana to St Louis, MO every day, and he enjoyed it greatly. I've had the misfortune of commuting from Redmond to Tacoma daily - sometimes 2 hours to travel 45 miles - and found it immensely frustrating. An important difference is freedom to travel at highway speeds versus being stuck in stop-and-go traffic.

<comment><USER13> also where the hell in Brooklyn is there more room than in Morristown???

<comment><USER14> Right? Brooklyn is just a paradoxical mix of pavement and parking tickets.

I would rather live in Western NJ or Eastern Long Island. Anything metro NYC is off limits for me-- it's not worth the higher salary and nightlife for my personal needs

</comment></comment></comment><comment><USER15> I guess I'm considered a "super commuter" now? It takes me, on average, 1hr15m to get to work and 1hr40m to get home (due to traffic).

We bought a house in November and I just moved to this job. It was a "can't turn down" type of position even though it wasn't super close. Where we live we paid $200,000 for a 2,400sqft 4bed/3ba/2ga on a fenced 1/2 acre with a pool.

If we sold the house and bought something for $200,000 where my job is, we'd be looking at a 2bd/1ba condo at most. That's not going to fly with 3 kids and 2 dogs.

It's a shitty commute but I do it because it's an awesome job with amazing benefits and I'd do anything to better my families lives. I distinctly remember my dad driving 3 hours one-way to a job for about 1.5 years because he couldn't find anything closer.

It's true I lose relaxation time. I just bought a new car that I really enjoy driving (even in traffic) and I still can get things done that I would do in my free time anyway, e.g. Listen to audiobooks, listen to podcasts, etc. Right now I'm learning German on my commutes.

I may not stay content with the commute forever but for right now the pros outweigh the cons.

<comment><USER16> _I 'd do anything to better my families lives_

Apart from spend time with them apparently.

</comment></comment><comment><USER17> I stopped reading after the first case study was someone who wastes four hours a day to go somewhere to do work that can easily be done from where they set out. This is masochism, not reason.

<comment><USER18> This is an article clearly all about long commutes, and you stopped reading it because it had a long commute in it?

</comment></comment><comment><USER19> The story does not mention anything about families. If you have a child in school, you better have family or friends who can support the acute local needs of your child. How do you get back home when your child is ill or something else occurs and you need to be available?

<comment><USER20> One spouse does the super commute and the other works closer to home/school or maybe not at all. Otherwise you're having to hire sitters, caretakers, etc.

</comment></comment><comment><USER21> Hmm. Don't see too many people in here that don't committee via car (it seems) I did about 4 hours per day, total, as a mix of train, walking, and possibly a quick subway ride.

The only part of the commute that was terrible was the subway. Otherwise, you're getting fresh air walking or doing what you want on the train (reading, side work, or browsing Reddit/hn), and enjoying a nice view out the window in my case.

Obviously a shorter commute is better, but the logistics of the commute make a tremendous difference. If I had half the commute but it was by car and dealing with traffic then I'd probably be in a worse mental state.

</comment><comment><USER22> > she feels inspired and energized, thanks to a weekend spent strolling with > her family through their secluded, leafy neighborhood.

Laughing sadly. Yes, it does that ... for, what, first 6 months? After that, full saturday and half sunday goes into sleeping and recovering, and the remaining half of sunday for apprehending the coming new week.

</comment><comment><USER23> I live in the core of a city and love it, but all the damn jobs I get offered are an hour away in the suburbs.

</comment><comment><USER24> So lucky to be working remote. Commute? From my bedroom to my office!</comment>


How the Silicon Valley Entrepreneur Stereotype Is Killing Entrepreneurship - <AUTHOR> http://www.tryary.com/news/1236/how-the-silicon-valley-entrepren

<comment><USER2> Blocked by signup form</comment>


Swift 5: start your engines - <AUTHOR> https://twitter.com/tkremenek/status/894957252389593088 <comment><USER2> It seems like the major point of this release is just to provide ABI stability. What real world implications does this have?

<comment><USER3> It makes it easier for Apple and others to adopt swift on a large scale. It will probably mean new swift only frameworks will be developed by Apple after swift 5.

</comment></comment><comment><USER4> a good concurrency story looks 2 years out :( 5 will lay some foundations, hopefully Swift 6 will complete the story.

a "systems" language w/o a concurrency story isn't very compelling.

<comment><USER5> Grand Central Dispatch doesn't count?</comment></comment>


What I learned from programming databases - <AUTHOR> http://www.philipotoole.com/what-i-learned-from-programming-a-database/ <comment><USER2> This article seems to be from the perspective of _using_ databases, whereas I expected from the title it would be from someone who _created_ database software.

Since learning how databases work from the ground up, my understanding of all software has changed a lot. When people argue about a database server being good or bad, or which ORM is best, I can only roll my eyes. Almost all of the popular advice around them is the cargo cult of an echo chamber.

It only took me around 6 months of studying, using, and building databases to learn the fundamentals. Database technology may seem boring at first, but it's actually a microcosm of computer science. If you want to learn more, dive in!

<comment><AUTHOR> OP here. I did create database software. I spent almost 2 years as part of the core team at InfluxDB, as outlined in the article.

<comment><USER3> Are there any heuristics for when you should switch from easy data storage, like parsing flat files, to a simple database, then to a complex database? Like, "if it's breaking" seems obvious. And "it depends" doesn't clarify what it depends on and how much. Comparing databases, setting them up, and learning what's what has a cost. When is the benefit worth it?

<comment><AUTHOR> Sheer scale is a key reason. The simple, and easy to understand, format of a text file won't work well when you've got a very large number of records to read, write, and locate, quickly.

<comment><USER3> Yeah, that seems to fall under the "if it breaks" category. But even then it seems like you could just split the monolithic file into different files with smaller scope. Like all the keys that start with "x" go into the "x's" file. You could probably get a lot of mileage out of just splitting the files by index whenever they reach a certain number of records. It doesn't really matter how many files you have if their naming convention is simple, like if the key starts with "xyz" it's in the "xyz's" file.

Intuitively it seems like that solution should scale pretty much as far as you need. As long as some other feature, like simultaneous access, didn't become important you'd be fine.

I guess that's basically just using the existing functions in the OS. Hmmm...okay, so that implies a heuristic for investing in a database could be if the product needs high performance in a function the OS doesn't already have. In that case you'd have to implement it yourself anyway, and a database would probably do it better. That would also help constrain the search for an appropriate database since it would make sense to focus on that function.

OS's already provide the function of allowing multiple users to access the same information; that's what the file system is. But something like simultaneous access is different. I think they generally just lock the file. So I'd have to write an middle-man function to work with the file in memory when multiple users need to read/write simultaneously. That could easily get complicated fast and clearly justify a database.

<comment><AUTHOR> In some ways, that is what a database is. Complex files, each with their own structure.</comment></comment></comment></comment></comment></comment>


An Awesome List of Awesome Lists - <AUTHOR> https://github.com/sindresorhus/awesome <comment><USER2> From a brief perusal this looks like it could be a great resource. A suggestion for list makers: it would be awesome if there were metadata attached to these lists that would allow people to mention what aspects of the lists they found most useful, as a time-saving guide for others who follow.</comment>


Ask HN: Review My Open Source Project: Diffable - <AUTHOR>

http://code.google.com/p/diffable
Diffable works by transmitting deltas between cached versions of a static resource, rather than the entire new version, when the given resource changes.
I've been working on implementing this on Google Maps for a few months now, and today I presented the open source project at the O'Reilly Velocity 2010 conference.
I respect this site and its users immensely and welcome all feedback and participation.  Thanks. <comment><USER2> <http://code.google.com/p/diffable>

clicky</comment>


FT journalist suspended over claims of Zoom eavesdropping - <AUTHOR> https://www.aljazeera.com/news/2020/04/ft-journalist-suspended-claims-zoom-eavesdropping-200427220621031.html <comment><USER2> Probably to be expected if your feeder organisation for hiring at the FT is _Buzzfeed_. Reputable media companies need to wake up -- they are killing their own credibility every single day the more they allow themselves to be dragged down to the base instincts of clicks-above-all.

<comment><USER3> Sorry, but what's to be expected? Do you genuinely not know the difference between Buzzfeed's news and its pop culture divisions? Or are you assuming they're inextricably conflated?

<comment><USER4> I see this claim a lot whenever people criticize Buzzfeed's news division. That department is still being fed by the cash their clickbait empire brings in. Furthermore, the number of quality articles Buzzfeed puts out is honestly quite slim compared to more established new companies. One decent article here and there doesn't salvage their reputation.

Everyone familiar with Buzzfeed has a clear mental image when that name is mentioned, and "quality journalism" or even "journalism" aren't the first things that come to mind.

<comment><USER5> And the (UK) Times/Sunday Times are propped up by the cash the Sun brings in. That doesn't mean that Times journalism should be seen as an extension of the Sun.

</comment></comment></comment></comment><comment><USER6> > Di Stefano, a former BuzzFeed reporter

This seems a particularly relevant point.

<comment><USER7> In what way? Buzzfeed news has done some great journalism, and have been Pulitzer finalists several times over the past few years.

<comment><USER6> Indeed it has but reviewing this reporter's 'Top Stories' on Buzzfeed News suggests he is not focused on winning Pulitzer Prizes. Amongst his top 5:

\- British GQ Put China's President And Thailand's King On Its "Worst Dressed" List, Then Removed Them Online So As Not To Cause Offence \- Here's The Audio Of Peta Credlin Admitting The Last Seven Years Of Politics Is Based On Total Crap. I am shook. \- Australia Has An Alt-Right Movement And It's Called #DingoTwitter

[https://www.buzzfeed.com/markdistefano](https://www.buzzfeed.com/markdistefano)</comment></comment></comment>


Arctic ice melting at 'amazing' speed, scientists find - <AUTHOR> http://www.bbc.co.uk/news/world-europe-19508906

<comment><USER2> This is interesting; it somehow reminds me of [http://www.nytimes.com/2012/08/22/business/global/american-t...](http://www.nytimes.com/2012/08/22/business/global/american- thwarted-in-quest-to-build-a-ski-resort-in-india.html?partner=rss&emc=rss)

</comment><comment><USER3> Why is ice melting bad? The arctic ice has been lower in the past and higher. Why is everyone so afraid of change. Humans have successfully navigated change for millennia.

<comment><USER4> We didn't have large coastal cities with millions of inhabitants then.</comment></comment>


Security Analysis - More than 3% of the top 100k web sites were hacked recently - <AUTHOR> http://blog.sucuri.net/2011/03/alexa-top-100k-sites-the-malware-blues.html

<comment><USER2> Which sites?

<comment><USER3> Those were the sites in the top 100k list by Alexa...</comment></comment>


Faithless elector: A court ruling just changed how we pick our president - <AUTHOR> https://www.nbcnews.com/politics/elections/faithless-elector-court-ruling-just-changed-how-we-pick-our-n1044961 <comment><USER2> Wait, doesn't this just restore the Founding Father's view of the Electoral College as the final bulwark against yahoos voting in a big dummy? That is, the laws binding Electoral Faculty to the way the state's voters voted is kind of contrary to the purpose of putting an intermediary between voters and presidential candidates.

[https://www.factcheck.org/2008/02/the-reason-for-the- elector...](https://www.factcheck.org/2008/02/the-reason-for-the-electoral- college/)</comment>


Slideshow: Deconstruction of Optical Illusions - <AUTHOR> https://www.yousry.de/slideshow-deconstruction-of-optical-illusions <comment><AUTHOR> Excerpt: Human intelligence allows us introspectiveness. We can scrutinize our perception and identify problematic workflows in our biological "machine".</comment>


Show HN: FA Icons – Search and Copy SVG Icons from Font Awesome - <AUTHOR> https://faicons.dev <comment><AUTHOR> Creator here! Feel free to give feedback or suggest any features you think would be useful.

I've been using utility first CSS for a while now and one of the patterns popular in that community is using inline SVG icons. I've always found Font Awesome's library helpful when I need something more than the normal left/right arrow.

Built with Laravel and Vue.js. I used Laravel as a base so the project can easily pull new updates from Github without a giant build chain.

This project is heavily inspired by Heroicons.dev so all props to that project for setting a good example!

Thanks for checking it out :)</comment>


iOS developers: Are you shocked by how vengeful users can be in the app store? - <AUTHOR> If a user doesn't like an update, he/she might say so and give it a very low rating to try to kill your sales until the issue is addressed.
Something seems wrong about this. A single user can have way too much power over sales. And there is a total lack of respect for the developer.
Perhaps Apple should allow users to go back to previous versions if they don't like an update. <comment><USER2> Reading through the comments from developers on Reddit, I'm shocked at the cavalier attitude towards users.

One comment talks about a Monkey Island update that destroyed users' saved games. The comment remarked it didn't seem fair to rate the game down from 4.5 stars to 3 stars for something that would get fixed on the next update.

The app may have been 99 cents, but the user's saved game represents a significant investment of time (the most fundamental unit of value since all of us have only a limited supply).

The app may be only 99 cents but costing a user hours or days of investment is going to get you ranked down, and should.

The other point devs miss is that the absolute ranking of their app doesn't matter. What matters is that all apps are in the same system. If users rate your app on delete, they rate everyone else's app on delete too. If you're getting a lot of bad reviews from that, perhaps more people are deleting your app than other apps.

This is one reason free apps rank lower -- they're deleted more often, hence ranked more often, and ranked at delete time, so ranked low. But even so, free apps are ranked against other free apps, so your stars are only relative to the other free apps' stars. A star itself is meaningless. How your app does within the same system as the other apps is what matters.

TL;DR: Delight your users or at least respect their time.

</comment><comment><USER3> Last week I released a game in the app store that has a button with the following text:

"Please click here to send me an email, so I can keep improving this game. Thanks!"

I could probably have formulated that a bit better. The idea was to get some feedback from players.

The result so far has been over 50 emails (many people sent more than one), all _completely blank_ except for the default subject and greeting text.

Oops.

<comment><USER4> I actually put some text in my description asking people to email when they have problems. It has resulted in about 10 responses (all useful) out of 20k+ users.

The App Store just doesn't promote any kind of reasonable engagement between the users and the developers, which is a totally different experience from desktop app development. Maybe it is the form factor, or the type of user.

<comment><USER5> This is one of my big complaints about the app store too. I've had one user get a refund on my app, but Apple wouldn't tell me why or give me any way to understand what happened. All I got from Apple was the boilerplate, make sure you app doesn't crash etc...

One thing Apple could do to make the app store a much better experience for developers is to set up some type of communication exchange between the developers and users. They could still keep it anonymous, but when Apple issues an update that breaks my app and then takes over 10 days to approve my 1 line of code fix I'd like to let my users know that it's out of my hands.

I have also tried adding my direct email in the app and have never received an email from a user. Admittedly, I have a lot less users than you do though.

</comment></comment></comment><comment><USER6> I managed to somewhat alleviate this for a recent app by having a feedback form in-app, allowing them to vent without going through the hassle of shutting down, launching iTunes or whatever and submitting a review. Some of it is still quite shocking though - especially compared to feedback we get from the web version.

The app is basically a restaurant finder for a city. We have listings for ~600 restaurants, regularly updated, self-written reviews for around 50 of the most popular/well known and 600ish reader reviews. It also has offers that can be saved offline like vouchercloud & they have purposely signed up to be _good_ offers (30% off meal, free dessert, 2 for 1 etc). All in all, aside from some speed issues which infuriate me (but users don't seem to have noticed) I'd say it's pretty good (I use it myself).

Now with that in mind, some of the feedback we've received has taken me back somewhat. One user noticed a restaurant that had closed down a couple of months earlier (it happens - we try to keep the list up to date but the odd few slip through). He made it clear that he would never use anything by us EVER again and would encourage his friends and family to shun us too. Another complained their city wasn't covered (intentionally on our part - it's a very specific app and very clear in the description). They demanded we get in touch immediately with how we'd rectify the situation before he "took the matter further". Several more of the same variety. I forgot them all though the moment our first "Awesome!" comment came through.

Er, sorry for the essay. My point is basically: yes - I _am_ shocked!

edit: The app is free btw, not sure if that makes a difference re comments on it!

<comment><USER7> I think everyone is shocked when they first encounter the consumer market face to face. I know I was, and I know colleagues were too.

You come to accept it, though, and not take it personally. Nor try to rationalise most of it. It's really difficult at first, I remember.

Pick the things you wish to defend, and especially those you wish to attack, very carefully. The vast majority of petty threats come to nothing, so don't fan the flames. If someone is persistent, then they likely have a real issue or they are psychotic.

There's a lot to be learned, personally, from these experiences, and it will give you a new respect for hardcore sales people.

</comment></comment><comment><USER8> No, but I am shocked by the sense of entitlement displayed by some mediocre developers.

Consumer software is hard. If you release an update that your users don't like, it's entirely your fault.

<comment><USER9> As an iPhone/iPad developer, the thing that pisses me off the most is when users leave a low rating and say "when you implement <feature no one cares about> I'll move it up to 5 stars." This happens all the time. It's blackmail but on a tiny scale, but it does have a real, negative impact.

Just because an app receives some low ratings it doesn't necessarily mean it's a bad app or the developer is an idiot. Sometimes users leave bad ratings just because they can.

<comment><USER10> If your app is missing a feature, it is less useful and thus deserves less stars. If it has more features, it is better and deserves more. This is another developer entitlement issue. Users aren't going to give you five stars because your one feature works really super well even though you have five missing features that don't work at all.

Your app can and should be ranked against other apps that are more fully featured and usable. If you aren't on the upper side of the curve quit spending time complaining about it and spend some more time learning and using that to code your app to be better.

<comment><USER9> "If it has more features, it is better and deserves more."

Perhaps you're not a mobile developer. Mobile apps are about focused user experiences. Tight features that make sense within the context of the app. You wouldn't drop a crossword puzzle into an RSS reader app (even though newspapers have crossword puzzles... yes I had a user suggest this for my iPad newspaper app).

When users suggest a feature that should be there and it's not, that's fantastic, that's a totally different thing. I'm talking about unrelated, ridiculous requests that make no sense, or they make sense to 1 person in the entire world: the reviewer.

</comment></comment></comment></comment><comment><USER11> We have a user on one of our games who repeatedly reposts his review every few days complaining about not making it into the high score list (top 100). He even lists the scores he has gotten that didn't go in. This is all despite the fact that all of his scores are lower than the lowest high score in the list! I think we have even posted reviews to try to explain this to the user and to get him to e-mail us at the support address but he hasn't done that or stopped posting his review.

I think iOS (and Android) needs to make it easier to interact with customers and address their issues in the market. There could simply be another section besides comments called "feedback" or "support". In this section, your posts are only visible to the devs (and I guess Apple) and you can maintain an ongoing thread of replies to a post. This would allow users to give feedback and receive support without filling the reviews with bullshit, and without having to e-mail the support address (and thus give out their e-mail).

<comment><USER12> Better: With a business review site I worked on previously, we tinkered with a system that allowed business to openly respond to reviews. It worked really well. It gave the other side of the story and provided a LOT of engagement with the user. I believe yelp has adopted something similar now.

We tried it with a private system (rebuttals not viewable by the public) and a public system. The private system showed FAR less engagement in terms of the business and the user working out their differences. When it was all done out in the open the users seemed much more willing to engage with the business owner. In our test greater than 70% of the conflicts were resolved. In private the number was much lower (I don't remember the exact number, but it was less than 40%).

I'd love to see that on the respective markets.

</comment></comment><comment><USER13> I'm starting to believe the maxim that the sweet spot for iPhone app sales is 13 to 17 year olds. Because some of them aren't spending their hard-earned 99 cents on an app - but the money from their parents.

Among my non-developer friends, it is shocking and depressing how few of those who have an iPhone have actually bought a single app. They know I do app development and yet some religously feel they should never have to pay for an app or they can find everything they want in the free apps. From personal observation, the real money in the App Store is from making apps for companies that want an app of their own, not from selling your own apps.

<comment><USER14> During the California gold rush, it was those who sold tools and supplies to the miners that saw the most success.

<comment><USER15> No, no no no. I was people who found gold and became gold mining millionaires who had the _most_ success.

It was tools and supplies providers who had the biggest _chance of success_ (lowest risk business plan).

[The biggest successes on the App store will be the massively popular hits. The easiest chance of decent money (smaller success) will be contracting work for companies who want their own apps].

</comment></comment></comment><comment><USER16> I think developers are shocked because for many it is their first time dealing with the consumer masses out there in an online world. Any small business owner who is on Yelp knows that people can be really, really mean. Often without reason or cause. The same goes for App Store reviews. Some make completely no sense, or to a logical person, are unsupported by facts. It has to be really frustrating to see some of this stuff out there. I think Apple needs to revamp their review system. Maybe they should talk to Amazon about reviews. I find those reviews more useful.

<comment><USER6> Asking for reviews on deleting an app is also maybe not the best way of getting balanced feedback. Though I hear rumours that recent updates have stopped this.

<comment><USER17> It isn't a rumor. It really has stopped. A few months ago, with iOS 4.

</comment></comment></comment><comment><USER18> I used to stress over the bad comments and ratings. Now I have so many ratings on my apps, and so many comments, one guy doesn't have any impact. I've actually had my best sales day when a terrible comment was the first comment on the "lite" version of the app.

Also, the lite/free versions get really hateful and terrible comments often. The people who like the app seem to rate, but not comment much of the time.

Long story short, I just don't sweat it anymore. I don't even think people read (or at least believe) comments, especially the ones that are just mean.

I just try to build a great app, take the good with the bad, dwell on the positive comments, look for insights into problems in the bad comments, then ignore the rubbish.

</comment><comment><USER19> I don't have an app in the store yet, but from what I've read of the reviews of apps I've downloaded, I must conclude that a huge fraction of the people who post reviews are idiots.

Seriously, idiots. If there is an app named "Foo App", which does Foo, and the description says that it does Foo and only Foo, it is not uncommon to find a review that says "This app does Foo. It does Foo perfectly, but it does not do Bar. I want Bar too" and that reviewer gives the app 1 star. Bar is something big enough that it would logically be an app of its own.

</comment><comment><USER20> It occurs to me after reading this, that I am just as much a part of the problem as all of the overly negative reviewers. I have dozens of apps that I think are quite usable, and I don't think I've submitted a good review for any of them because... well they work! I think I'm going to make it a goal this week to write some good reviews for apps I use all the time.

<comment><USER21> I think low ratings on apparently decent free apps are mostly down to users not reading the app's description, finding it doesn't do what they (semi- randomly) imagined it would, and marking it poorly in the pre-iOS 4 rate-on- delete pop-up.

My most recent app politely and unobtrusively asks to be reviewed after 10 uses, on the thinking that users who've stuck it this long probably don't hate it. I forget which other app I learned this trick from, but it seems to have helped a little.

</comment></comment><comment><USER22> I received an email this morning from someone thinking of buying my app but saying this: "Yours seems like it is headed in the right direction, but I am unwilling to shell out $15 considering the UI and stability issues that some users are reporting."

People were complaining in the reviews when the app was getting killed by the memory watchdog (i.e., "crashing") when they were trying to use photos larger than the iPad's RAM allowed. In the in-store version I put in a hard limit to the pixel size it would process, and now they're complaining in the reviews that it refuses to load their photos (my specific phrasing in the error is "exceeds iPad memory limit").

Of the users that have posted negative reviews, less than 5% have contacted me through the support line.

</comment><comment><USER23> When the Google market was new I remember reading views for a compass app that were many variations of "This game sux!!! all it does is spin around!!!"

</comment><comment><USER24> How about if users could rate other user's comments? For instance, if someone posted something totally out of character for the app, then other commenters could rate that comment as valid, invalid, and leave additional comments explaining why that users is a troll.

<comment><USER25> The desktop app store has this now - it has links for "Was this review helpful? Yes/No" and sorts by Most Helpful by default.

</comment></comment><comment><USER26> <http://twitter.com/hotdogsladies/status/21757786483>

</comment><comment><USER16> I think there's a business opportunity here folks. An App that reviews apps, BETTER than the App Store. Obviously its needed, since consumers want to know how an app works and if it has bugs BEFORE they buy it, and business want constructive criticism AND to know that morons won't be allowed to contaminate the system with reviews that don't make sense/are stupid, etc. Just framing it out in my head, you would need a way for developers or users to add their app to the system (saving you work). You would probably have a vote system (aka Facebook's like button) to catch the people who are too lazy to write (users could even do it from inside the app they're using if the developer puts in the code. This would also catch more users who like the app as opposed to being negative). You would have a bug system so complaints about bugs don't clog up the reviews, and can be deleted once the bug is fixed instead of staying around forever. You could have an Amazon-like review system, where users vote up the useful reviews, and vote down the useless garbage. Lastly, you could make money via ads, sponsored search results (just like Download.com), or with developers paying to interact with the system (ie. get alerts when a negative review comes out, when their rating drops, when it rises to the top, etc).

There, there's a winter project for someone.

</comment><comment><USER27> I'm only starting to develop iPhone apps but as a user I find the review/rating process completely broken. Rating an app seems to take far too long and interrupts my work, so I never do it. The only time a user will be sufficiently motivated to rate your app is when they really hate it.

On the flip-side, when you search the app store the results don't appear to be sorted by rating so I wonder what effect it really has

</comment><comment><USER28> Here's a question: how come the top paid apps on average have higher ratings than top free apps? (<http://moby.to/dwvgvr>)

I asked a marketing professor that I work for and he told me that his hypothesis was the level of thinking users did before they paid for something versus when they bought it for free was different. You probably want to make sure an app is worthwhile before you purchase it, by carefully considering its functionality, reading the reviews and so on. A free app doesn't elicit this kind of care before purchase. My professor said it was the same with student ratings: required courses tend to have poorer reviews than electives, partially due to the level of choice the student had in picking the course.

I agree to an extent, but there should be a counteracting force: feeling ripped off. Why should users feel so upset about a _free_ app they downloaded that they would take the time to write a negative review, a review they probably didn't read before downloading themselves? Wouldn't users of _paid_ apps feel more compelled to leave a negative review if they felt it wasn't worth the money? Thus, paid app users would probably be more incentivized to leave a negative review, even if they are less likely to feel negatively about the app.

Nonetheless, the empirical observation is that for the most downloaded apps, free apps are more poorly reviewed than paid apps. Might a third (decisive) factor be that app store shoppers are divided (generally) into extremely price sensitive and not price sensitive (meaning, free app buyers and paid app buyers)? This hypothesis might be supported by the fact that the free app reviews tend to have a different quality of language from paid app reviews (as you can read in the reddit article linked here). I personally feel that paid apps in general are of higher quality than free apps, so I think paying a small amount for apps, almost always (with the exception of Facebook, Twitter, Netflix, etc...), is worth the reduction in noise from sifting through free apps. My experience with these apps tends to be good, and I use the apps longer and download them less frequently then I might if I were a serial free app downloader (I think). The fact that free apps are more poorly reviewed doesn't help either.

The reason that it's important to understand these differences is that the decision to make it free or not might also be a marketing decision. Your goal with an app might be looking to make an in-app sale down the road to the user, to promote another product, or develop your brand as a developer. It could turn out that users in your target demographic don't "trust" free apps (in general) and thus don't download them, and you might harm your brand by offering them for free. You might also get a user base that doesn't understand your app before downloading, then leaves harsh negative reviews, thus also hurting your brand. Lastly, these users might be more likely to delete your app after a few days, and then move onto another free app, hurting your prospects of making a down-the-road sale or earning advertising revenues. Thoughts?

<comment><USER12> What I've found really interesting is that I've noticed that users of free apps have the same exact psychology as someone who paid. In that a user of a free app feels equally as "ripped off" as someone who paid for it.

I asked my wife about this (she's a behavioral researcher) and she's not surprised. There is apparently some research that suggests this is the case. She's out of town right now or I'd see if I could dig up the actual abstracts. It's something that definitely needs to be studied more, but I think there is something to it. Particularly among the under-30 crowd.

</comment></comment><comment><USER17> Not really. If your app is free and has something that vaguely resembles usefulness, you'll likely get a decent number of downloads. And if it reliably crashes, you'll get a decent number of people telling you as much. They usually seem willing to come back and retry the app on an update, though.

</comment><comment><USER29> App store is the only game in town. The first bad reviews will make you want to jump off a building. Best thing to do is to realize that your in this for the long term. So suck it up and keep improving.

</comment><comment><USER30> Anyone who's ever done freelance or retail sales will tell you that customers who pay more - who are willing to pay more - are, on average, way easier to deal with, more respectful, and more grateful than customers who buy only cheap or inexpensive items. There's only the odd tyrannical rich person outlier, who thinks they "own you." They don't come close to balancing out the hordes of cheapo customers who think you owe them.

That's just one part of the issue, of course. The App Store is horrible in so many ways -- the intelligence of the audience, the savvy, the inability to communicate other ways, the likelihood that any given App buyer has probably been screwed by other, lesser quality apps before. Etc.

<comment><USER31> We need to keep repeating this until people understand: charging more gets you better customers.</comment></comment>