Thanks to Venmo, We Now All Know How Cheap Our Friends Are - <AUTHOR> https://www.nytimes.com/2017/07/21/style/venmo-cheap-friends-transaction-history.html <comment><USER5> Young millennial male, every single person I know uses Venmo. IMO this article largely misses the point of the app. It's replaced cash/checks is all, it's not some huge social upheaval in the way we use money that needs to be analyzed. In my experience it's rarely used for splitting bills for dinner or picking up bar tabs (I can't remember the last time I went somewhere that wasn't able to split the bill on their end?), but more around casual "I'm going to go to the store, you need something?" "Yeah, get me some ice cream. I'll venmo you.". Or for utility payments among roommates.

The guy who was nagging you to give him $3 cash for the cab ride is now requesting $3 from you on venmo for the uber, but it's the same guy, and he still needs to chill out and remember you split your case of beer with him last week.

<comment><USER6> "every single person I know uses Venmo"

How does that happen. I don't know a single person who uses Venmo. Not one. I know a lot of people and I work in Tech.

<comment><USER7> I only know 1, I also work in tech.

I, have found developers and other tech workers to be, somewhat ironically, more "Ludditic" than the general population.

<comment><USER8> I think it's because we've seen behind the curtain. Product X isn't as magical, and we've seen how it can go horribly wrong.

I wonder if mechanical engineers tend to be safer drivers...

<comment><USER9> I have one data point in the form of my father, who is a mechanical engineer. He always knew what you absolutely _shouldn 't_ do with your car, like give it gas on turns(wears cv joints in fwd vehicles) or keep the clutch depressed when you're standing still(wears some bearings I don't remember the name of).

He has had the same car for the past 25 years now.

<comment><USER10> _> keep the clutch depressed when you're standing still(wears some bearings I don't remember the name of)._

It's the throwout bearing. Your father has a point, but I would rather keep the clutch in. Too much thinking involved putting it in neutral every time you stop.

<comment><USER11> Not putting it in neutral when stopped can contribute to failing your driving test in the U.K.

<comment><USER10> Aside from reducing wear on the throwout bearing, what is the purpose?

<comment><USER12> Not having the car jerk forward if your foot slips off the clutch.

<comment><USER13> Which it may well do if you get rear-ended. One 'accident' can become two.

<comment><USER14> Technically you're supposed to hold on brakes or a hand brake while idle, which makes both points moot. Especially important in clutchless cars or other auto transmissions.

The brakes will hold a slipped clutch and a rear end.

The clutch has an added benefit of you get rear ended and drop it - <USER3> braking is a thing. Not good for the engine, potentially good for your forward bumper when you get reared.

<comment><USER12> > The clutch has an added benefit of you get rear ended and drop it - <USER3> > braking is a thing.

There's no engine breaking when stopped, if the engine is running.

I typically do keep my foot on the brake when stopped in traffic. And I do balance brakes, clutch and throttle when stopped on a hill. But except for stop-and-go traffic, or when getting ready to punch it, using the clutch and brakes together seems pointless.

</comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER15> I have never disagreed with something so much.

While I'm financially not doing so bad, I grew up poor. When I was college age going out with friends was complicated- if we all handled our own bills it was one thing, but when I'm not drinking and only eating cheap food to save money splitting the check would literally mean I'm subsidizing other people friends and could be the difference between being able to afford to go out or not.

Apps like this level the playing field and make it a lot easier for people of different incomes to socialize together with less awkwardness.

<comment><USER16> You were either too proud to tell your friends the truth or had bad friends.

<comment><USER17> You haven't had many friendships with diverse income levels.

<comment><USER18> This problem is even worse when it's not even necessarily income levels that is the problem, but just different values around money & spending. If you have the same income level, but find it outrageous to spend x on y, you just get viewed as a "cheap ass"

It's not my fault I don't want to pay 13 dollars+tip for a cocktail when I can make 20 of them at home for the same price.

<comment><USER19> > It's not my fault I don't want to pay 13 dollars+tip for a cocktail when I > can make 20 of them at home for the same price.

Oh, certainly not your fault, but you might be better staying at home. Why agree to go out somewhere with your friends if you are just going to drink water?

<comment><USER18> > Why agree to go out somewhere with your friends if you are just going to > drink water?

What do you think I'm an amateur? Club soda with lime, in a highball glass.

</comment></comment></comment></comment></comment></comment><comment><USER20> I'm reading this as someone being upset that they were asked to pay for what they ordered, with the excuse that the app somehow makes the world less "chivalrous."

I say whatever. I'm not friends with people because I trade off doing nice gestures. Some people account for their money and would greatly prefer to balance the books. Fine. Is it really a big deal to pay what you owe? It's not like they asked you more effort or money. Pay the fucking invoice.

If someone wants to be nice in Venmo literally nothing is stopping them. Realistically, when I pay people on Venmo I tend to add a few bucks to round up. But expecting others to do that kind of thing seems stupid to me. The person on the other end is not nickling and dining you. You're trying to do that to them by suggesting you don't just pay the bill.

P.S.: I'm sick of hearing the phrase "silicon valley mentality." It's literally an app that bills people, there's 10s of them out there, none of them encourage any specific kind of behavior than what the person behind the phone takes from it.

<comment><USER21> _I 'm reading this as someone being upset that they were asked to pay for what they ordered_

So you assume some unstated motivation behind something and then get angry about the thing you just made up? Hmmm...

<comment><USER20> I said reading as not assuming.

</comment></comment></comment><comment><USER22> When I spend more at dinner, I eyeball the cheque and ask for a little more to be put on my card. If we're alternating between who picks up the tab, I'm mindful about buying them drinks. Venmo just makes cash-only, "no more than 2 cards" dining and vacation booking easier.

Note that I've had friends try to split bills to the penny. I tell them to stop, because both our times are worth more than that. (The exception being if I know they need the extra cents, in which case it still seems more reasonable to round down in their favour.) That kind of gentle social shaming is productive and something I've noticed a lot of people my age shy away from.

TL; DR If you think Venmo is ruining your friendships, it probably isn't Venmo.

<comment><USER23> Addendum: One useful thing I've found about reimbursing (note: NOT splitting, which is what you were talking about) some other bills down to the penny is that it makes it much easier to search for them afterward if you want to figure out whether you remembered to pay for them. Like if you buy someone dinner and they insist on paying, don't round $10.49 down to $10 or up to $11. Because then you have different numbers showing up on different accounts (credit card statement vs. bank statement vs. Venmo/whatever) and it makes it harder to see if you remembered to pay for it or not.

Aside from the social awkwardness/pettiness, it doesn't really work for typical bill splitting anyway, since it's not like they would remember what amount to search for, given that usually the person paying has the only receipt. Where this method really shines is when someone is reimbursing you in a bulk/lump payment -- in that case it's far more valuable to know that the actual amount was $304.01 instead of just something rounded to $300, since then it'll be a lot more work to figure out if that payment included a $6.23 item or another $7.98 item or whatever.

<comment><USER24> If you like this, you might like the free workshops from You Need a Budget. I like to think of it as teaching "poor person's double entry accounting". (The workshop is free because they're trying to sell you their $50/year SaaS.)

[https://www.youneedabudget.com/classes/](https://www.youneedabudget.com/classes/)

<comment><USER23> It's not really about budgeting or tracking your expenses, rather it's about (1) making it easier to search for the exact amount and having the payment pop up (e.g. in one shot in your email inbox, in some cases) when others ask you if they paid, and (2) avoiding a misunderstanding where someone asks you if they reimbursed you for something a few weeks later and you say "no" because the amount you looked for didn't match what they actually paid you.

</comment></comment></comment></comment><comment><USER25> >"It's making people less generous and chivalrous," Ms. Pennoyer said. "It used to be you'd go to a restaurant, and you'd put down your credit cards and split it 50-50, even if one person had steak and one had chicken. But now people pay exactly to the cent."

Spoken like the person who always orders steak.

I don't drink, so I'm always irritated when I go out to dinner with a bunch of people and someone says "let's just split the tab evenly. It's too much trouble to figure it all out." Since drinks are so expensive relative to food either I speak up and look like the jerk or end up paying much more than I should.

<comment><USER26> I don't drink, and rarely have the most expensive entree, and hate it when people try to figure out the exact perfect split of a check. It somehow always takes longer than it should, if we're all friends here making roughly the same amount, let's just split it evenly.

Dining out with friends isn't solely about turning dollars into calories.

<comment><USER27> Considering everyone has a very capable calculator in their pocket, notebook, and camera in their pocket, it's quite easy to figure out your share. You can simply note how much your meal and drinks cost, add the tax and tip, and drop it in the middle as cash at the end.

If you go out often (2+ every one to two weeks), don't drink alcohol ($10+ per drink in NYC/SF, prob even $15+), and you don't eat meat (+15% I bet on average for a dish), and don't get dessert ($10+), why on earth should you be putting in an extra $20 to $50 more per meal? Why would I accept that from someone I consider a friend, or a guest?

</comment></comment></comment><comment><USER28> I don't use this app and this article kind of explains why. If I go to dinner with friends, or anything, I'd rather pick up the check than worry about splitting it. The next time, they'll pickup the tab, and so forth. That's what friends do. I don't know if I'd want to go out with someone who is going to bill me for it later, or wants to use an app to split things up. For me it just makes things superficial, awkward, and distant.

<comment><USER29> That's a good way to make sure that people with significantly different amounts of money don't socialise together.

<comment><USER30> Not necessarily. My policy (with close friends) is that if I invite someone, I'll pick the place and pay. They can pick the place and the tab next time.

I don't want to have to worry about my friend's finances when inviting them out (I want to grab sushi with Irene, but can she can afford it?).

They can pick a cheaper place or invite me over for a home-cooked meal if they can't afford to invite me out to a nice restaurant.

I work in tech while most of my close friends are still students, the point is to be able to do nice (more expensive) things with them, which we could never do if we always split the bill.

</comment></comment></comment><comment><USER31> I think the problem here is expectations. If you went to dinner with a friend, and thought everything was covered but then later received a bill in the mail there's an aspect of unexpected demands in it. If your friend said ahead of time "hey I've got this app that will let us split the bill easily, that okay?" then you'd be expecting it and there's no social transgression.

Social norms and expectations are the fiction here, not the money itself.

This app won't get much transaction in Canada though- in Toronto at least most waiters easily handle individual bills for groups. I was at a party of 12 or so the other day- no issues will the bills, everyone paid for what they ordered. Better software, or maybe better wait staff, whatever it is, it works.

<comment><USER32> I was shocked by the inability of restaurants (literally their policy) in California to do individual bills. I still can't understand why it's this way... The only reason I used Venmo was for that.

<comment><USER33> Some credit card services charge a per transaction fee as well as a percentage so spiting the check can begin to eat into his margins.

<comment><USER34> Then pass the fee on to the customer.

<comment><USER35> I have no experience with this, but I wouldn't be surprised if it was against the terms of service with the credit card company.

</comment></comment></comment></comment></comment><comment><USER36> On the contrary, I find it removes social friction if you go out to eat relatively often. You can still buy rounds of drinks or pick up the tab; no one is stopping you from being generous.

In college I found it way more tedious to try and "keep-even" with classmates. Combine that with any sort of gossip around "they always shortchange" (maybe they're not good at tax+tip mental calcs), and I'm all for removing uncertainty from friendly transactions.

 __I most definitely do _not_ allow venmo to share my transaction to my social circle. That seems just silly.

<comment><USER37> Yeah, I second that it removes friction. I hate the "lets split the bill evenly"-approach. It makes me feel like I leech of others if I want something expensive, and the other way around if I'm not very hungry but have to pay for everybody else having three courses.

<comment><USER38> Can't you just get your own bill then? I feel like so many people make this to be way more of a deal than it needs to be.

<comment><USER39> Because the act of getting your own bill is a statement. It's no secret that you're doing it because Ted always adds a lobster tail to his steak. Or that you're doing it because you're going to order a water, no appatizers, and the Ruben because money is tight. Once you're outside of specific circles 'being broke' stops being a shared experience and it affects how people view you.

The only time you might be able to get away with it is because you're going to order the 24oz sirloin and don't want to put that on other people. But that's a statement in a different direction and could come off as elitest or insulting.

Pay for what you order lessens this awkwardness.

</comment></comment></comment></comment><comment><USER40> Sorry but this is nonsense.

The fact that there is no more rounding is a _better default_ that we no longer must put any thought into. It's more convenient. I fail to see how it harms the relationship in a way that's "petty".

This also completely leaves out the inconvenience of planning a large gathering for friends and fronting all the money yourself. Yes, it may feel "petty" to be reminded to pay your share, but imagine if 12 people all owed you $50. I say it's petty to need to be reminded.

Please, someone explain to me how splitting expenses is a negative thing. How is it petty? How is it more "transaction" and less "relationship"?

<comment><USER41> This article is borderline "Millennial bait," but: Suppose I invite you over to my apartment to hang out. I offer you a beer. You accept, so I tally "1 beer" on a little notepad.

You have some potato chips. ("13 chips" goes on your tally.) You use the toilet twice, flushing both times. ("7 gallons of water" goes on your tally.) You're a bit hot, so I turn up the air conditioning. (I need to break out the calculator, but "+$0.63 for AC" also goes on your tally.) You tell me about a sad movie you watched recently. (This reminds me of a family problem I am having, which is mentally taxing. Since I'll likely need an anxiety pill, I add a fraction of the prescription cost to your tally.) You suggest a walk in the park; we go out. Walking makes me thirsty, so I buy a bottle of water. (But since walking was your idea, I add "1 bottle of water" to your tally.)

Do any of the above come across as petty - or absurd - to you? If so, then that will give you some idea of how someone might feel that splitting social meal expenses down to the penny - and with a written record, to boot - <USER4> transactional. The point is everyone has a threshold where this kind of Venmo'ing behavior goes from innocently equitable to distrustfully penny- pinching.

Venmo'ing someone can be the equivalent of saying, "I don't trust that our relationship will proceed in terms that will average out in such a way that is fair to me." Insisting on Venmo'ing is a lot like insisting that your significant other tell you their email password. If you have to insist this in all cases, maybe rethink your relationship?

<comment><USER40> I see what you're saying. I'd say the petty part there is the tallying the small items I offered to you _in my home_.

Going out to a restaurant with a group is not the same thing, though. If there are three people eating at a moderately priced restaurant and one person picks up the tab, it's not petty to request reimbursement.

In a cash world, it would be petty to demand exact change because of the extra effort it requires to produce it. In an automatic payments world, it's no extra effort on either side.

</comment></comment></comment><comment><USER42> >"It's making people less generous and chivalrous," Ms. Pennoyer said. "It used to be you'd go to a restaurant, and you'd put down your credit cards and split it 50-50, even if one person had steak and one had chicken. But now people pay exactly to the cent."

How is this portrayed as a bad thing in the article? This solution to this problem is the ONLY reason I use Venmo. Perhaps the author was always the one ordering steak and misses his old friend-subsidized lifestyle.

<comment><USER43> > How is this portrayed as a bad thing in the article?

It takes some of the humanity out of the time spent together. Being generous with each other is part of how friendships and other relations are formed.

Among friends, boiling it down to a precise transaction is petty. If a friend is abusing this approach, that says something about both him and your friendship.

<comment><USER44> What if you just happen to enjoy steak and your friend enjoys chicken? Then in the 50-50 split, you could be seen as "abusing" the system if you two go out to dinner often, yes?

<comment> vertex-four A 50-50 split is never how it works out - you look at the bill and think "X spent about £15 and Y spent about £20, so we'll put that down and then make up the change between us". Or "let's split the food 50-50 and I'll get the drinks".

</comment></comment></comment></comment><comment><USER45> This is one of the worst article I read in a long time - also I couldn't disagree with it more. I like eating salads and my friends like eating stakes - Venmo and Square Cash makes it so easy for us to spend time together and split money in a sensible way (how splitting it in a half would be sensible in this case?). Saying that this make friendship transactional is just bullshit - it makes them honest. And people thinking they they are charged for friendship because they have to pay for their own meal need to rethink it.

<comment><USER46> Totally agree. From my experience the people who get offended are the ones that eat and drink the most.

</comment></comment><comment><USER47> I think a lot of people are totally unaware that Venmo transaction details are public-to-the-world. Fascinating experiment in radical transparency.

Also, per NYT:

""More supportively, Noam Waksman, a 24-year-old who works in digital marketing in New York, said he has "been called out by friends before, for charging my girlfriend for a meal," which they had spotted on Venmo.""

This is an interesting dynamic - normally the quasi-transactional stuff in dating is not made so explicit. A friend who wrote a web app like Splitwise/Bluechips about ten years back reported that he quickly stopped working on it because "girlfriends hated it".

<comment><USER48> You can change the publicity of a transaction to private or friends only.

<comment><USER47> Oof yeah I should be more precise -- I think the surprise is "public default".

They do make it super easy to find the setting "default audiences for future transactions: private" plus "past transactions: make to private" and I would wildly speculate it is interesting that many people don't think about whether or not they should do that.

</comment></comment></comment><comment><USER49> I don't understand why Venmo is such a popular app. I've always used Square Cash and just recently tried Venmo for the first time. My sister and I had dinner and she offered to split the tab. She refused to try Square Cash and had me download Venmo. On the iPhone it felt like buggy port with some weird social feature that allows users to see public transaction.

<comment><USER50> Venmo significantly predates Square Cash, and once you get used to using a particular app for a task switching is a burden, especially for something like this with a powerful network effect.

<comment><USER51> As far as I remember, Paypal significantly predates Venmo. What happened there?

<comment><USER52> The Paypal app was late, and didn't really support the seamless Venmo experience, because initially Venmo allowed you to sign up with a CC and ate the fees. Later, with enough momentum and usage, they moved people to direct deposit by adding the CC fee and giving some other incentives.

The company was acquired, along with BrainTree, by Paypal to bolster their mobile and API-driven payments in the present age.

</comment></comment></comment></comment><comment><USER53> They fail to consider that venmo and other simple cash transfer applications lower the barrier to payment of items down to the penny. Time isn't free and I would be annoyed if a friend demanded I reimburse down to the penny for something in hard cash. Asking for me to type a number into an app is so easy it's petty to worry about those pennies and a waste of time. What a ridiculous article.

</comment><comment><USER54> _It is possible to make one's ledger and contacts private, but many users overlook these options_ ...

I'm sorry, what? The default is to make all of my transactions public? What the absolute living f---.

<comment><USER55> It's not all transactions, just social ones. People share their personal information on social media all the time, particularly information that relates to a social interaction. Since money is often a component of social interactions, a public record of social transactions essentially adds no information to what people have already voluntarily posted on other social forums. I use Venmo all the time, and since the dollar amounts aren't shown (only the participants and a short memo) I generally feel comfortable with public transactions. More sensitive interactions I make sure to set private.

<comment><USER56> A friend once paid me back for a "sensitive interaction" and put a snowflake emoji in the comment. I don't know if it was public. It was tacky and thereafter I only took cash for such transactions.

</comment></comment></comment><comment><USER57> Classic pre-venmo humor article "Caltech Physicists Successfully Split the Bill". [http://www.theonion.com/article/caltech-physicists- successfu...](http://www.theonion.com/article/caltech-physicists-successfully- split-the-bill-2037)

In the old days it could take as long to split the bill as to eat for a double digit dinner party. Not to mention cheapskates who conveniently forget beverages and appetizers.

</comment><comment><USER50> One paragraph in I thought to myself "haven't I read this before?"

A quick google later: [https://qz.com/687395/venmo-is-turning-our-friends- into-pett...](https://qz.com/687395/venmo-is-turning-our-friends-into-petty- jerks/)

<comment><USER58> That article has a funnier lead. Offering a glass of wine in your own home, then billing for it afterward. That person was probably an asshole before venmo existed.

<comment><USER50> Agree! Same basic structure though.

</comment></comment></comment><comment><USER59> Maybe its because I live in a semi-rural part of the Midwest, but I've never even heard of Venmo.

> _Ms. Pennoyer agreed and recalled childhood taxi rides, when two adults > would fight to treat the other_

That still happens around here. (Well, we don't really have many Taxis around here, but it happens with meals at restaurants and such. I can recall occasions not too long ago where friends and I would all try and sneakily pay for the meal before the others noticed.)

My wife and I lived in SF for a while and stuff like that is part of the reason we came back.

<comment><USER60> Yeah, I only use Venmo when I'm on the coasts. None of my friends in the Midwest have it, and maybe I'm just used to it, but it just felt inefficient to split the bill and wait for each person to pay with their own credit card rather than having one person pay and Venmo them back.

</comment></comment><comment><USER61> This seems to be a generational and geographical gap. Speaking parochially, among relatively well-off 40-ish Australians acting like this would mark you as some kind of cheapskate space alien.

I remember being similarly surprised at the 'down to the last penny' bill- splitting when I first got to the US, but, as a lot of people remark on in other threads, many of the social gatherings weren't really very long term (e.g. a random collection of Bell Labs interns).

I'm sure that there are good reasons people act this way, but the impression that I have to fight down when someone acts like this that you're either cheap, broke or paranoid about being taken advantage of. I think there are occasions where everyone needs to get a little more fine-grained ( _especially_ not doing the thing where non-drinkers subsidize drinkers) but the amount of time some people fritter away on these calculations makes me wonder what their time is worth...

<comment><USER62> > among relatively well-off 40-ish Australians

The same is true in the US. Note the ages and geographic locations of the people mentioned in this article.

Among well-off middle-aged (40+) Americans, in my experience it's more typical for people to compete to pay the ENTIRE bill, every single time, rather than attempting to share. Generally it's bad form to seem like you're competing to pay the bill, but very socially desirable to be known as someone who will pay the bill (and thus must have the money to do so).

</comment></comment><comment><USER63> You can easily keep your transactions private on Venmo. I think the benefits outweigh the negativity mentioned in the article - it has made our lives more efficient.

However, their scam protection ([https://www.theverge.com/2017/7/19/15997768/venmo-scam- fake-...](https://www.theverge.com/2017/7/19/15997768/venmo-scam-fake-payment- merchant-clause-fraud)) has room for improvement..

</comment><comment><USER64> Ha, such a non-issue to us petty bean counting Germans, we always split the bill and it's only a problem like once a year with particularly stubborn wait staff.

Yes, maybe I'm generalizing a bit too much, but you're usually asked if the bill will be split if you're obviously looking like a couple. I'm leaning towards preferring that way. I've no problems buying friends a beer or two, but a) I don't want to be overthinking what I am gonna eat and drink if the bill will be split evenly (like in other countries) and b) sometimes there's really people I don't want to subsidize (e.g. coworkers instead of friends).

<comment><USER65> I lived in Germany in the '90s and loved the way they split bills at the restaurant. In fact, there wasn't even any "splitting"—you paid for whatever you ordered. The server wore a money pouch and sometimes even a coin dispensing machine. She would walk around the table and ask each person what they ordered, would write the prices down on a neat little recycled paper pad that was about 1" wide and 6" tall, hand it to you, and you paid her immediately. No tips (you rounded up sometimes), no guilt—just German efficiency. Geil!

<comment><USER64> Well I'd say tips are common - but in the ballpark of 5%-10%, and also usually no hard feelings if you don't tip or just round to the nearest EUR.

</comment></comment></comment><comment><USER66> A few friends and I had dinner together every Wednesday at Tied House. I made a website to split the bill and track debt, so that every week whoever owed the most money to everyone paid the bill. The levels of debt stayed pretty low.

[https://github.com/AustinWise/DinnerKillPoints/](https://github.com/AustinWise/DinnerKillPoints/)

The heart of the system is a bill splitter:

[https://github.com/AustinWise/DinnerKillPoints/blob/db54eec9...](https://github.com/AustinWise/DinnerKillPoints/blob/db54eec94b0698b38cdca6ca628acbc3861374a8/src/DkpWeb/Util/BillSpliter.cs)

And some simple graph algorithms to analyze the debt-graph and render the results with GraphViz:

[https://github.com/AustinWise/DinnerKillPoints/blob/db54eec9...](https://github.com/AustinWise/DinnerKillPoints/blob/db54eec94b0698b38cdca6ca628acbc3861374a8/src/DkpWeb/Util/DebtGraph.cs)

</comment><comment><USER67> I guess I'm too old. Have heard of Venmo but don't know of anyone who uses it. My friends and I trade off treating each other. It's fun, and no one is keeping score. I enjoy being generous.

I also suspect this author writes off anecdotal info, not actual data.

Take his comparison to libertarianism. Anyone who studies the actual political platform/ideology of libertarians know that describing it as "every man for himself" is a gross oversimplification. I'm not a libertarian myself but I know it doesn't discourage generosity or philanthropy.

Such lazy references make me think the author heard someone riffing about Venmo at a bar and decided to write rant.

</comment><comment><USER68> The default setting isn't pro-privacy? Really? WTF?

What's next? I gotta idea! Let's get the app to ask for net promoter scores ...

Would you recommend this friend to a friend ... no=1 yes=10

</comment><comment><USER69> I find Venmo very useful, but one of the first things I did was make any payment from or to me private. I don't understand why anyone would want to make that public.

<comment><USER70> Well, there is a multi-billion dollar industry built on top of public transaction records...

</comment></comment><comment><USER71> Splitting the check used to be a ridiculous exercise of handing the wait staff a deck of plastic with instructions like '20 more on the blue card'. So now one person can bear the costs and charge everyone at the end of the evening. This is marginally better, ideally you could just 'venmo' the venue directly but this would upset the mediocrity of US banking infra and the card monopolies.

</comment><comment><USER72> I recently deleted venmo in favor of fb messenger pay. I think it's US only right now, but it's just one less app on my phone. I also always hated how venmo held on to your money if you forgot to withdraw it.

It also just makes sense. I send and receive text, photos, videos, and now money from friends in one place.

</comment><comment><USER73> If you're from the old school and prefer something commandlineish, Ward Cunningham has a neat little AWK script to calculate everybody's share of a group expense:

[http://c2.com/doc/expense/](http://c2.com/doc/expense/)

</comment><comment><USER74> I used to be a big fan venmo as a cash/check replacement, until a friend needed some emergency cash. Tried to venmo them, both accounts ended up being frozen for over a week. A check + USPS would have been 6 days faster.

</comment><comment><USER75> I'm pretty sure nothing has changed, it's just easier to split bills now.

</comment><comment><USER76> This is not a good idea. I don't want some company like venmo/paypal/brantree/visa looking datamining every last cent and transaction that I spend. Who knows who they could sell the data to or if they get hacked. Just use cash and tell the server what you ordered. They will give you an individual check, with totals on it. If theres >10 people yes you might need to pay 10% extra fee but that's better than subsidizing someone's 3 $15 cocktails, $30 steak, $10 dessert.

</comment><comment><USER77> I refuse to link my financial activity and things involving my physical address to Facebook, which Venmo seems to require. This is insanity to me. And I am a millennial as well.

<comment><USER78> I use Venmo without a Facebook account. Works fine.

</comment></comment><comment><USER79> I find that this article's contention of nickel-and-dining millennial is one instance where technology has enabled a huge change in social mores.

Nickel-and-dining was a problem in the days of loose change, where counting small change was a huge hassle. With Venmo this problem simply does not exist. On the other hand, I would say that payments and reimbursements between friends accurate to the penny on Venmo reflects well on you as a conscientious person.

</comment><comment><USER56> One friend of mine will regularly pay for group dinners or events and Venmo each person their share. He does this so he can get rewards/points on his card.

<comment><USER39> I do this too. I use my credit card for everything but my SO only uses it for big/online purchases so I love splitting things with her. Double the cash back!

</comment></comment><comment><USER80> This is clearly a PR piece for Venmo disguised as some sort analysis of grave social change.

I never heard of Venmo before this article! How did it end up on the HN front page?

Also see [http://www.paulgraham.com/submarine.html](http://www.paulgraham.com/submarine.html)

</comment><comment><USER81> Huh. I've never even heard of this app in Canada. Around my office we just use PayPal for that kind of thing where needed. Hamilton here (near Toronto).

I've found a lot of us startup brands missed the boat invading Canada and let eBay eat their lunch here. Kijiji beat Craigslist for example.

</comment><comment><USER82> NYTimes susbscriptions:

Starting at a low $2.63 per week.

</comment><comment><USER83> "Teddy Wayne's most recent novel, 'Loner,' comes out in paperback in August."

I thought that was funny.

</comment><comment><USER84> Honestly it sounds extremely freaky.. I didn't know that people in the valley, that probably earn some multiple of my income, were so scaringly attached to fractions of dimes when going out with friends that they desperately needed an app for this huge first world problem..

<comment><USER85> in many places I have worked this petty attitude would get you marked as not a culture fit

</comment></comment><comment><USER86> Thanks to Venmo, I now know all about transactions between people I don't know. I honestly can't understand why that stream is considered useful _at all_ , much less as a feature that has the entire first tab devoted to it.

</comment><comment><USER87> For some reason, I never felt this as a friction or problem needed to be resolved. In the Netherlands everybody (really!) uses debit cards, so it's easy to have people pay for what they got.

Beer, however, is when you get to be charitable.

</comment><comment><USER88> The funny thing about these services is, is that in europe they have a hard time getting ground. With most banks the default bank app can do these things. Some things like requesting money also across different banks.

</comment><comment> type-2 This is cultural, your response this behaviour is based on your upbringing.

</comment><comment><USER89> Venmo is fine used among friends but is a major fraud vector otherwise.

I expect most other uses of Venmo in the USA to be supplanted by Zelle over time.

</comment><comment><USER90> I had never even heard of this app. Yet it seems to be for people in my generation (25). I'm really happy that this is not something that happens in my social circles.

Could be a cultural thing. Most of my social circles involve Latin American people, which is quite a mindset difference from the standard European / American mindset.

Though, even with my European friends this does not happen. I don't mind having paid more than one of my friends at the end of the evening, it'll even out eventually.

<comment><USER91> What if it doesn't even out eventually? I like to get 4-5 cocktails when I go out, and am usually the one getting steak instead of chicken (to use the article's analogy) -- so I almost always dine on significantly more than the average person at the table. If we just split uniformly, I'm definitely taking advantage of the other people at the table, so what options are there? Of course, I could pitch in more for that evening's bill, but once we're at the point that we're splitting it unevenly, then I don't see how that's any different than venmoing someone instead, and that's a lot easier than dealing with cash.

</comment></comment><comment><USER92> Between Venmo, FB, Twitter, and now SnapMap it's scary how much you can learn about a person you've never even met...

<comment><USER92> Also, wouldn't be shocked to start seeing venmo exchanges being used in courtcases

</comment></comment><comment><USER93> So asking for 31.61 is socially unacceptable, while asking people to mail you a check is okay?

</comment><comment><USER94> Another 'how [tech company/product] is ruining [social norm]' thought piece.

<comment><USER95> Right, and this is more of an evolution of generation. This is a social norm amongst millennials.

<comment><USER96> Not in my neck of the woods. If you sent a Venmo request amongst us you would be invariably called an asshole (and it wouldn't be a kind way of saying it, that sort of thing is real shitty). We use Venmo to push money around (Square Cash is nicer, but that ship has sailed), but it's more like "ehh, $25 is about right and I'll get it next time so the rounding will work in my favor".

We are not doing down-to-the-penny nonsense because that would be silly and we are not _dunning our friends_ because that would be awful.

<comment><USER95> I live in a transplant city dominated by young professionals. Multiple roommates (paying for utilities, grocery shopping together, house-shopping), many nights out a week with friends, etc. all yield to a multitude of spotting cash/credit for everyone.

The only assholes are the ones who freeload often. venmo keeps everyone in check.

What is your neck of the woods, partner?

<comment><USER96> I live in Boston, which is about as young-and-transplanty as it gets.

I don't know, maybe I just hang out with folks who take friendship with a degree of seriousness, but nobody I know would _need_ to dun somebody in either our group or our extended group to pay their share. You grab the bill, you eyeball it for your stuff, you add twenty percent for tip, you're done.

If you try to freeload, you just wouldn't be invited again. Because friends don't do that, just as they don't send each other invoices.

</comment></comment></comment></comment></comment><comment><USER97> OT: Long time ago, I had friends who made 150k-200k/yr. You won't believe it but they remembered every single Euro they lent and always insisted on the pay back. Never met such folks again.

</comment><comment><USER98> I've been using Square Cash lately.

</comment><comment><USER99> Paid propaganda piece (TM)

</comment><comment><USER100> I see systems like Venmo being commoditized and Venmo being an acquisition target or being disruptive for large banks . My reasoning is below.

I must not be a true milennial (29) .The new hip social networks don't make sense to me or don't work. Not only that but if this is a feature of Vennmo I'll stay with only transferring cash to people with boring old Chase Quickpay with a bank account I don't have to pay for without Venmo fees.

Edit: Sorry I should have read up on this.

<comment><USER101> Venmo was already acquired by PayPal last year. I don't think it's an acquisition target anymore.

<comment><USER102> And technically, Venmo was acquired by Braintree, which was subsequently acquired by PayPal.</comment></comment></comment>


Ask HN: Starting with Gevent and Ginkgo - <AUTHOR>

I was recently introduced to gevent and gikngo and I found a couple of good intros. The issue is that they both lack decent documentation. I was wondering if anyone encountered any good advanced tutorials or maybe some examples. I'm not looking for something as fancy as 0mq's zguide (although that would be wonderful), but at least some advanced applicants, methods of use or detailed descriptions.<p>Thanks! <comment><USER2> Try <http://sdiehl.github.com/gevent-tutorial/>

<comment><AUTHOR> nifty!

thanks :)</comment></comment>


OKCupid: We Didn't Censor Our Match.com-Bashing Blog Post - <AUTHOR> http://www.observer.com/2011/tech/okcupid-we-didnt-censor-our-matchcom-bashing-blog-post

<comment><USER2> Yes, they censored it. It was censored by OkCupid, which is now owned by Match. This just shows how quickly and completely people assimilate to a new organization, and how thoroughly people identify their organization's interests with their own interests, and their own interests with what is right.

<comment><USER3> The point isn't to change history and remove it from the internets, the point is to not be a dick.

You can't delete things on the internet- content is mirrored, and popular posts like that are quoted, copied, and scraped across the internet. There's no risk of the post disappearing.

However, when they're in a meeting with the head of Match and their team, it'd be pretty dickish to keep the post up. It's rude. Removing it removes friction between the teams, is a nice peace offering, and in the end changes nothing- the post is instantly mirrored.

<comment><USER4> The post is from last April. If I click on any hyperlink to the post made between last April and last week, I instead get redirected to OKCupid's blog homepage, which _does not have the article_.

If removing the article "changed nothing", it would still be up. The idea was to make it harder for people to find the article. Sure, someone who realizes that the article was purposely removed and that there are a multitude of copies hosted on other sites will be able to find it, but others (perhaps with less technical acumen) will not.

</comment></comment></comment><comment><USER5> The more in-character response from OkCupid would have been to make a new OkTrends blog post that plainly analyzed the data underlying the removal of the original article.

Data Points:

      Dollars Received From match.com | Articles removed
      $0.00 | 0
      $1.00 | 0
      .. | 0
      $50,000,000 | 1

Followed by a witty analysis of how statistically, 50,000,000 influences the on goings of OkCupid.

<comment><USER6> Definitely and it would have been hilarious + turned a "have they gone evil?!?!" set of internet comments into a hilarious "ah that makes sense aren't they funny!" pat on the back.

Then again, they probably did their research, realised they didn't want to make a big deal about this, that the people who noticed probably aren't their biggest customer base, that they don't want to bring this to the attention of Match.com and that they don't want their customers freaking out about upcoming payments.

</comment></comment><comment><USER7> Surely it would have made more sense to at have, in big bold letters, "Update: we've since realised the data we've used is bogus" at the top of the post instead of flat-out _removing_ the article, which is highly suspicious.

<comment><USER8> The problem with that approach is that search engines won't necessarily show that in their extract. A lot of times, a person searches for "X", and they get a page full of results, and they skim the extracts to decide which to read.

So, say someone is looking for information on the success rate of match.com. They see the OKCupid result, with an extract that says, say, you are 12 times more likely to get married if you don't use match.com, or something like that.

If they do NOT click the link to the blog post, but instead chose another result to read, they don't see the disclaimer at the top, but they do end up having that extract reinforce the view they might be getting from other results critical of match.com.

Overall, it is better to either delete the article, or to move it to a different URL that you've excluded from search engines, and replace the original page with an explanation and a link to that different URL for those who want to see the original article.

</comment></comment><comment><USER9> We didn't censor it. We just removed it because it was "common sense" not to have it available anymore. Don't you get the distinction?

<comment><USER10> Well, to be fair, what he actually said is that _Match_ didn't tell them to censor it - headline is misleading. So yeah, it was self-censorship rather than new-owner-censorship... which may well be bad too, just a different sort of bad.

</comment></comment><comment><USER11> Simply saying that they were wrong doesn't make it so. The original post had hard numbers. If you're going to say that those numbers were in error, I want to see the numbers that back it up.

<comment><USER12> He may not be allowed to publicly disclose the numbers.

It would be like extrapolating how many Android phones had been sold. And then Google buys you and says, "here's the real number, but its Google confidential". You may be allowed to say, "I screwed up, my data was wrong", but you may not be able to actually give the real data.

That's just the real world.

</comment></comment><comment><USER13> "the data that OKCupid gathered from Match.com's public filings [..] were not completely accurate, he said, which he realized once he saw the real data"

Is he saying that Match.com has fraudulent filings?

<comment><USER14> No, he's saying that the data that OKCupid _inferred_ from Match.com's public filings are not completely accurate.

</comment></comment><comment><USER15> Law 36

Disdain Things you cannot have: Ignoring them is the best Revenge

By acknowledging a petty problem you give it existence and credibility. The more attention you pay an enemy, the stronger you make him; and a small mistake is often made worse and more visible when you try to fix it. It is sometimes best to leave things alone. If there is something you want but cannot have, show contempt for it. The less interest you reveal, the more superior you seem.

</comment><comment><USER16> To me, the most interesting and exciting quote from the article is "When we put our next blog post next week", which I interpret to mean that they'll keep analyzing the data they have access to.

</comment><comment><USER17> Oh, so you _voluntarily_ took it down. I feel so much better now!</comment>


Ask HN: Why Did COBOL Die? - <AUTHOR> You don't see many programming languages that simply drop off the map. Even those whose heydays have passed, like Lisp and Fortran, tend to retain niche communities over the decades and get used at the occasional company.
But COBOL is dead dead. Nobody writes it as a hobby. No company builds new projects with it. It's 100% in maintenance mode.
What happened that caused that? <comment><USER2> It's horribly verbose. It's slow a molasses It reminds you when looking at it that it's from the 1970s. All the applications have ever been business. Where's the fun in that?

I learned it in High School, and had to read it on a couple jobs while we were transitioning to another language (probably RPG/III, another dead dead language)

</comment><comment><USER3> COBOL was unstructured. Not like (say) C or Pascal.

Modern languages are structured. Older languages like COBOL or BASIC, being unstructured, lead to what used to be called 'spaghetti code'.

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

Unstructured code was deprecated in the 70s and 80s after the famous 'GOTO considered harmful' paper by Dijkstra.

[https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.p...](https://homepages.cwi.nl/~storm/teaching/reader/Dijkstra68.pdf)

COBOL's other 'drawback' was its verbose code. I use 'drawback' in quotes because I always found that its verbose nature meant you could pick up a COBOL program that you hadn't looked at for six months and immediately know what was going on.

example:

        ADD WORK-HOURS TO OVERTIME-HOURS GIVING TOTAL-WEEK-HOURS.

rather than

         z = a + b;

Although, because of my COBOL experiences, I tend to do something like this:

         total_hours = work_hours + overtime_hours;

which is more wordy than normal C but more terse than COBOL.

<comment><AUTHOR> C has goto, as does C#. Using it is frowned upon, but it's there. I'm not familiar with the term "unstructured" in this context; does COBOL not have subroutines or something?

And I'm sure COBOL's verbosity can't hold a candle to enterprise Java.

I'm still not seeing a single big factor that sets it apart as unusable. All languages have flaws.

<comment><USER3> Non-structured programming relies on GOTOs. While some unstructured languages (e.g. BASIC, COBOL) _do_ have subroutines, in general the program-flow goes all over the place.

Structured languages rely more on 'if-then-else', 'do-while' or 'case' types of flow controls, where there is a constricted number of flows available. Coming from BASIC as my first-learned programming language, it took me a lot of effort to re-arrange my programs to eliminate all GOTOs.

If your code does not need to use a GOTO, it's flow _is_ structured, and you have learned subconsciously (or you were taught) how to write structured programs rather than unstructured programs.

I once saw a diagram that showed how the program-flow formed nested loops in the code. The idea was that the program-flow should be written so one loop does not cross over another flow-line loop. The cartoon here ( [https://encyclopedia2.thefreedictionary.com/Spaghetti+progra...](https://encyclopedia2.thefreedictionary.com/Spaghetti+programming) ) shows the crossing of flow-lines.

</comment></comment></comment><comment><USER4> COBOL missed the vast market of small to mid-size businesses computerizing themselves with the emerging PC. It failed to migrate to microcomputers, and had its lunch eaten by the so-called "4GL" languages such as Ashton-Tate's dBase and its descendants and imitations collectively known as "xBase" (including Clipper, FoxPro and such).

[https://en.wikipedia.org/wiki/Ashton- Tate](https://en.wikipedia.org/wiki/Ashton-Tate)

dBase programmers in the 80's were basically the target market for COBOL: in- house business applications built around a database, with a bit of UI.

In some ways dBase was the COBOL of the microcomputer revolution. It's similarly obtuse; it has all the appeal of COBOL.

[https://en.wikipedia.org/wiki/DBase#Programming_examples](https://en.wikipedia.org/wiki/DBase#Programming_examples)</comment>


Ask HN: Critique my startup: ZeroTier One - <AUTHOR> (I've posted about this on other occasions, so apologies if I'm being spammy.)
https://www.zerotier.com/
-- Status:
Tech: Emulates an Ethernet switch over a robust P2P protocol.
Product: VPN-like, make virtual networks everywhere.
Revenue: freemium
Growth: ~1% organic (no promotion), ~50% user retention after 1-2 months (measured).
Feedback: positive, >90% "very disappointed" for canonical "if this product disappeared?" question.
-- Issues:
* 1% organic growth tells me: I haven't quite achieved product/market fit, the "beta" status is putting people off, or product isn't quite "there."
* Freemium conversion rate is also low, tells me current value proposition is broken.
* No mobile version. Already know how to build it, but time consuming...
-- Hypothesis:
Virtual networking ("VPN" has become confusing due to HideMyAss, etc.) is a "sleeper" market not unlike file sync. "There's lots of things that can do this." "But do you like any of them?"
I've studied Dropbox closely. I'm trying to do that in virtual networking-- solve an old problem in a compelling new way.
Some validation e.g.: #1 source of organic hits is variations of "alternative to Hamachi" directly or via alternativeto.net.
Two parter then... (1) is this hypothesis correct?, and (2) what would push this from "good" to "category redefining?"
I have some bigger "pivot" ideas but I wanted to get feedback on what's there first.
All thoughts are welcome. Thanks! <comment><USER2> This appears to be another auto-vpn solution. At first glance it appears to be professional and well thought out (e.g. auto certificate management); however, I ask what is your target customer? Most companies who require a VPN solution will use a service provider or hardware appliance at the edge of their network so they don't have to configure multiple endpoints. From what I've seen consumers would have no use for this, maybe in the past when LAN-enabled games were popular, but what about today?

<comment><AUTHOR> I'm trying to skirt the term VPN a little with this. Not only does it refer as you say to tunnels into networks, but it's also become a confusing term to end users of late because of things like HideMyAss. "VPN... isn't that something you use to hide your traffic from your ISP?"

Of the converted users so far, the vast majority of them are distributed teams. It's a peer to peer virtual network, so it allows them to have an "office LAN without an office." There's a wide variety of reasons people might want that.

Nevertheless, I am getting the impression that that's a niche market, so I'm thinking about other directions I might go with this. The underlying engine is very powerful and versatile, so there are other markets I could potentially apply it to: SDN, p2p SDKs for software developers, etc. I'm starting a market research deep dive on this kind of thing.

I can't imagine that there are no larger niches for a networking engine that enables friction-free direct connectivity between any two devices, but I'm not completely sure what these niches are. I've got some hypotheses but I want to let the market research lead.

Thanks for your comments!

<comment><USER2> You're welcome. For the sake of argument let's assume your target customers are small teams. I'm going to try and pin you down on one area you keep assuming is true: "There's a wide variety of reasons people might want that." Can you name 3? I can't think of a single application a team might use that would require layer 2 connectivity. File sharing is done with dropbox, email and other server or saas solutions these days. Modern version control systems work across the internet. VoIP would be through a provider...

There are a lot of other areas you can apply this technology, but there are already tons of players in those spaces.

<comment><AUTHOR> Here's some I've heard:

One user has a CAD app that must talk to its license server to work. With this, they can have a license server and their distributed team can use it. (Consulting company.)

There's a few users who just like the convenience of being able to do things like share screens, drop files to each others' machines, etc. as if they're all in the same room. There are other ways to do it, but they find this easy and straightforward and the services are already built into the OS.

A few users have security concerns that make them more comfortable with direct file transfer over their own encrypted LAN than with Dropbox, et al. These are medical and financial sector users.

But ultimately I think you are at least partly correct. _Most_ things have moved into "the cloud," so a significant proportion of users have no pressing need for direct connectivity. This makes it likely to be a niche market.

Of course you can go further and ask "why has everything moved into the cloud?" There are multiple reasons, but one reason is certainly that direct connectivity is hard. But now you have a chicken or egg problem: nobody builds apps that require direct connectivity because it's hard, and there's little market for making direct connectivity easier because nobody builds apps for it. Those kinds of catch-22 scenarios are murderously hard to escape, either technically or marketing-wise.

One application that doesn't fit the mold though is private network backplanes for cloud servers that span data centers and cloud providers. I've got a couple users who have servers on multiple providers on multiple continents (Amazon, Digital Ocean, etc.) and this lets them have a single shared encrypted private backplane with a few minutes' setup time and no manual configuration.

I've considered following that line of thinking and building some kind of "meta-cloud" solution, also possibly integrating with Docker, OpenStack, etc. The idea would be "SDN over WAN and between providers." I've gotten a few positive comments on that concept, but I'm at the early stages of exploring it.

</comment></comment></comment></comment><comment><AUTHOR> Some other info:

500-600 users online at any given time, about 1000 total global users.

User base is highly global, with lots in China, etc. There's a lot of people using this to collaborate globally.

Paying customers are _all_ consulting outfits with distributed teams. I can see this being compelling there. But there's only a couple of them.

Current development iteration is focusing on better OS integration, a bit of other polish elements, and fixing some very minor networking issues reported by a few users. On Windows networks now show up (in the dev branch) as "real" networks, and it shows the popup allowing you to select their role and firewall designation as home, work, or public. On Mac I'm working on making networks show up in System Preferences as real networks there as well.

<comment><USER3> As a person in technology, while I understand the concept of creating a LAN, I couldn't think up of a reason for which I may need one. Maybe that's something you might want to put up on the landing page?

<comment><AUTHOR> This fits into the category of advice that's "so simple I'd have never thought of it." Maybe I need to prominently list some use cases. Thanks. :)

<comment><USER4> I once actually needed to emulate a LAN to do a migration of an ISP POP from one place to another (the terminal servers lived on a LAN with hardcoded dependencies on RADIUS servers, DNS, &c). I did it with a proxy ARP daemon I wrote for the task.

Nothing comes immediately to my mind for why I'd want that same capability in 2014. Which is not to say there isn't an important use case. Rather: even people who have done stuff like this before probably need to be told how this service makes their life better.

<comment><AUTHOR> One thing I'm getting from this particular thread is that I need to focus more on use cases and concretes and less on technology, at least in my initial splash page. For some reason these two responses kind of crystalized that for me... I went to the site and viewed it with new eyes and thought "this would only be appealing to a very narrow, technically focused sort of user."

Here's what some current users are doing:

* "Office LAN with no office" for file, printer, and other devices sharing and collaborative development. One comment was "cool, now we can use git as an actual peer to peer version control system."

* Allowing a distributed team to access a license server that must be online to use some commercial app.

* With bridging to extend an office into VPN-space (regular VPN replacement).

* A few users have used it to create a private backplane network between servers in the cloud. I wrote up a blog post on this:

[https://www.zerotier.com/blog/?p=176](https://www.zerotier.com/blog/?p=176)

* One user is researching it as a way to link together small embedded devices with cellular connections in the field. I've been working with them on this. It builds and runs fine on Raspberry Pi and works over cellular Internet.

* It's got a bit of a following as a way to tunnel out from behind the Chinese Great Firewall, though I'm not sure if that's a sustainable or monetizable area. But I do have one paying customer from this market. It's a commercial user with an office inside China and an office outside that finds it very convenient to have a single LAN spanning their China and Oregon offices.

* The public network feature has a bit of a following in the decentralized networking community. This is not likely to be a direct revenue source but has resulted in a lot of high quality technical feedback.

<comment><USER3> Yep- exactly. NOW I think this might be a simple way for me to access my devices at home securely.

<comment><AUTHOR> Updated the web site to be more use case focused:

[https://www.zerotier.com/](https://www.zerotier.com/)

<comment><USER5> I find it really useful as a (nearly) zero-config way of accessing devices behind a NAT box.

Even my work internet connection is behind a carrier-grade-NAT box so I can't even port forward. I use it to access our Jenkins server which is physically located inside the building.

It's particularly useful for 2 reasons:

\- each machine gets a very stable IP (unlike DHCP-assigned addresses) which simplifies hosts files / dnsmasq etc \- it's better than port forwarding as every device can work on port 80

So my use case would be something like "simple LAN setup with no more port forwarding"</comment></comment></comment></comment></comment></comment></comment></comment>


No Contract: $149 Android phone, $25 unlimited data and 300 min - <AUTHOR> http://virginmobileusa.marketwire.com/easyir/customrel.do?easyirid=F4ABAEBA3A27ECD9&version=live&prid=715003&releasejsp=custom_124 <comment><USER2> I had actually considered getting this a few months ago. I was also looking at tmobile prepaid which also has an android phone. Initially they both looked like too good to be true deals and then i learned the reason for that. The phones they both offer are terrible. Small and very underpowered. With i think the Virgin Mobile phone running android 1.6. Which is like buying a computer with Windows 95 or 2000 on it. Sure its running "windows" but no software will actually work on it so whats the point.

Virgin Mobile and T-Mobile prepaid also get terrible reviews.

In the end i spent the extra money and got a Droid X on contract with Verizon. Its a great phone with good coverage.

</comment><comment><USER3> My mother got this phone with this plan, it's not the best thing in the world (the screen is a bit too low-res) but for $25 I think it's a fantastic deal for a device/service which really isn't that noticeably different than what the 'high end' android phones offer.

I currently have a Droid Incredible with a $70 plan on Verizon ($75 after bullshit fees) and I felt like a schmuck for paying so much when I saw her phone.

I previously had a prepaid phone on Virgin and it worked fine. Ended up switching carriers just to get a data plan. I think I'll be switching back once my contract is up.

</comment><comment><USER4> Does anyone know of a website or means with which I can reliably determine whether there's good coverage from a service (in this case Virgin) in my area? I'd love to switch, these AT&T rates are killing me.

<comment><USER5> Here's Virgin's coverage map for voice-usage: <http://www.virginmobileusa.com/check-cell-phone-coverage>

It looks like Virgin uses Sprint's 3G network. Here's their coverage map: <http://coverage.sprint.com/IMPACT.jsp?ECID=vanity:coverage>

Finally, here is a CNET review of the LG Optimus V (the phone featured in this particular plan): [http://reviews.cnet.com/smartphones/lg-optimus-v- virgin/4505...](http://reviews.cnet.com/smartphones/lg-optimus-v- virgin/4505-6452_7-34482446.html)

</comment></comment><comment><USER6> I have the Samsung Intercept, which is also offered by Virgin Mobile for the same plan. It's about $100 more expensive, and while I can't vouch for whether it's $100 better since I've never used the LG phone, I can say that you get what you pay for. Still, it's very encouraging to see this trend, and really when you compare how much you're saving on the contract then the phone essentially pays for itself within the year even if you get the more expensive Intercept.

</comment><comment><USER7> They deduct minutes to every call to voice mail. Google Voice and Skype seem to take out from the 300 too. You really can't talk with this plan. This is for data-centric use.

<comment><USER8> Like every other operator. Att here evens deduct s my minutes for received g voice calls.

But Android has sip clients. who needs voice?

Also there are plenty of skype apk patched to behave the same in wifi and 3g, meaning it will go via data no matter what

<comment><USER9> In 2.3 (Gingerbread), SIP is baked right into OS and integrates seamlessly into Google Voice & the regular phone UI, so you don't even have to run an external client.

<comment><USER8> I call that a SIP client too :)

</comment></comment></comment></comment><comment><AUTHOR> This has got to be the best deal for a prepaid Android phone ever. The $25 month unlimited data and 300 minutes is the best voice/data plan out there as well.

<comment><USER8> When something seems too good to be true, it usually is.

<comment><USER10> Alternately, everything you're used to is just a really bad deal.

</comment></comment></comment><comment><USER11> Speaking of, does HN know of a cheap android phone available internationally?

<comment><USER12> A friend recently bought a ZTE Blade. I haven't tried it personally but he's very exited with it, and looking at the specs it seems to be a good, cheap android phone.

It's available in a few countries other than the US like the UK, France and Switzerland. Depending on where you buy it, an unlocked phone will cost about $150 to $250.

<comment><USER13> In the UK Orange sell a rebranded version of the Blade on Pay As You Go, called the Orange San Francisco. Several people in my office have bought one, since they're only £100 here and can be trivially unlocked to run on any network. It's a little slower than high-end Android phones, but appears to be very usable.

</comment></comment></comment><comment><USER14> If you buy this phone, can you use it as a wifi only and never actually activate it with VM? Or can you pay for a month, cancel and still use it on wifi? Might be a good tester device option.

<comment><USER15> Yes, you can use WiFi only without ever activating it or paying VM. I did it myself: [http://blog.gerundinganimal.com/2011/01/cheap-wifi-only- andr...](http://blog.gerundinganimal.com/2011/01/cheap-wifi-only-android- phone.html)

<comment><USER14> Thanks! I am on Sprint with the SERO plan now - its $30 a month - but i have a very old windows mobile phone - I could upgrade my device but then i also get $20 extra tacked on a month on the SERO plan. Maybe this is a better option.

</comment></comment></comment><comment><USER16> How's their service in the US (specifically CA)? My contract with T-Mobile is up in April and I'm paying $70 for 300minutes + 5 unlimited contacts + unlimited web and 400 incl. text messages.

<comment><AUTHOR> Virgin Mobile USA uses Sprint PCS Network.

</comment></comment><comment><USER17> Bonus: while it does not ship configured to do so by default, the phone can be used as a "mobile hotspot" (tethered) after a simple modification.

I think I'll go pick one up.

</comment><comment><USER17> I have a BlackBerry on Virgin and while the device is pretty atrocious, the coverage is great in SF. (The customer service is not quite up to par, however.)

</comment><comment><USER18> Can you buy a phone somewhere else and sign up for their plan?

<comment><USER17> You can buy the device from a third party but they only allow Virgin-branded devices on the network.

</comment></comment><comment><USER8> no virgin mobile here.but if they are anything like pcs, which advertise unlimited web and calls for 40, then data for them means some proxied sites only

<comment><USER10> It's not like that for VMU, you can reach any site on the net afaik. The "unlimited" is 5gigs/mo, after that they will throttle you. I've read complaints that they add extra jitter to SIP protocol traffic, though.</comment></comment>


The First Photo Ever Uploaded To The Internet - <AUTHOR> http://designtaxi.com/news/352999/The-First-Photo-Ever-Uploaded-To-The-Internet/

<comment><USER2> There are some videos on youtube of les horribles cernettes. <http://www.youtube.com/watch?v=n-m8A0aHikY> Looks like a good work life balance at CERN!

</comment><comment><AUTHOR> By internet, i think they mean the WWW:

<http://en.wikipedia.org/wiki/Les_Horribles_Cernettes></comment>


SSD Won't Make Sense in Laptops for Two Years - <AUTHOR> http://www.computerworld.com/action/article.do?command=viewArticleBasic&articleId=9112065 <comment><USER2> You coulda fooled me -- here I was, thinking the SSD in my ThinkPad X300 was actually pretty sweet, and provided huge performance wins for my real-world workloads, but I guess I was just getting sucked into early hype.

<comment><USER3> The title of the post is a little misleading. The point of the article isn't that SSDs are useless for laptops. It's that they aren't at a price point yet where they are attractive alternatives for typical customers.

Current SSDs are still 5x more expensive than magnetic drives per byte. And while their seek performance is great, their streaming read performance is mediocre and their write performance is just awful. Likewise promises of low power consumption haven't really been realized yet.

<comment><USER4> Like passive (CSTN?) versus active matrix (TFT) laptop screens in the mid 90's. To most people, the TFT screen was not worth the additional cost. Those of us who valued its quality paid the premium. Now I think all laptops have TFT screens.</comment></comment></comment>


Samsung Schadenfreude and the Fall of the Church of Market Share - <AUTHOR> http://techpinions.com/samsung-schadenfreude-and-the-fall-of-the-church-of-market-share/35451 <comment><USER2> This is a must read.</comment>


Taiwan coffee chain 85°C kowtows to China after Chinese netzens threaten boycott - <AUTHOR> http://shanghaiist.com/2018/08/15/taiwan-coffee-chain-85c-kowtows-to-china-after-chinese-netizens-threaten-boycott/ <comment><USER2> It's worth keeping in mind that PRC seems to have large astro-turf farms. You can see it here on HN: comments about PRC and Taiwan on HN get modded up or down in the usual first 1 or 2 hours of a post, then PRC gets involved and suddenly anything pro democracy, supporting Hong Kong, or even mentioning the official name of Taiwan is suddenly moderated to death.

I wouldn't be surprised if a lot of people initially angry about 85 degrees serving the Taiwanese PM are paid to be so, before a lot of real people get in on the outrage machine.

</comment><comment><USER3> It seems like naked astroturfing.

If Trump wasn't president, ( someone like bernie ).

I hope a coalition of __democratic __countries (Australia, EU, Japan, Vietnam and India ) sent a carrier group to Taiwan and make China sign some sort of agreement to keep the Taiwanese alone - a country doesn 't deserve this type of humiliation.</comment>


How being hacked impacted our startup's key metrics - <AUTHOR> http://open.bufferapp.com/how-being-hacked-impacted-our-startups-key-metrics

<comment><USER2> Be aware that most of the graphs' y-axes do not start at 0!</comment>


Add-Ons Outage Post-Mortem Result - <AUTHOR> https://hacks.mozilla.org/2019/07/add-ons-outage-post-mortem-result/ <comment><USER2> I believe it is essential for Firefox to allow installing extensions in a private way that does not force us to upload our source code to Mozilla, especially considering their renewed push for user privacy.

It could be a feature that can only be enabled from the browser UI, with appropriate warnings, but the choice must be offered for those who need it.

Until that happens, those with private extensions must resort to compiling their own browser, use unbranded or developer builds, or patch Firefox at runtime to disable signature checks.

This is how you allow unsigned extensions in Firefox on Arch Linux, the same files can be edited on Windows and macOS, restart the browser after changes:

      sudo tee /usr/lib/firefox/defaults/pref/config-prefs.js &>/dev/null <<EOF
      pref("general.config.obscure_value", 0);
      pref("general.config.filename", "config.js");
      pref("general.config.sandbox_enabled", false);
      EOF

      sudo tee /usr/lib/firefox/config.js &>/dev/null <<EOF
      // keep this comment
      try {
        Components.utils
          .import('resource://gre/modules/addons/XPIDatabase.jsm', {})
          .XPIDatabase['SIGNED_TYPES'].clear();
      } catch (ex) {
        Components.utils.reportError(ex.message);
      }
      EOF

<comment><USER3> > It could be a feature that can only be enabled from the browser UI, with > appropriate warnings

That's not the issue. The problem is: where do you record the fact that the user has seen and acknowledged these warnings? Wherever it is, malware can go there and write "yes, the user has already seen the warnings, no need to ask them, you can run the extension".

<comment><USER4> I don't understand this logic at all, it baffles me.

Malware can do a lot of things, but I never heard of common software being designed under the assumption that malware has taken over the PC. The software I use is designed under the assumption that the user is intelligent enough to keep the computer malware free. Only the OS or explicit security software is designed to keep me from malware, but not my text editor, office software or browser.

It is a terrible excuse for ignoring user intent.

What's next? Disallowing to change the startpage from google.com because malware can change it? Disallowing downloads because users could download malware? Going that route would essentially take away the entire software in the end. Maybe at one point Firefox is only allowed to operate from within the cloud, where employees make sure it is 100% safe?

Also others have already said that one could add admin privilege to certain settings.

<comment><USER5> I mean we're not necessarily talking about malware that has taken over the computer. More like software companies whose installers 'helpfully' install their browser extension behind the users back.

The same is true for link handlers, file extension associations, context menu entries, browser plugins. None of these should be able to be changed by applications, only by the user themselves.

We're entering an age where applications running in a user session are no longer user agents but users of your computer unto themselves that need have their own permissions boundary. Applications running as the user != the user anymore.

<comment><USER4> > More like software companies whose installers 'helpfully' install their > browser extension behind the users back.

When there's a will, there is a way...

</comment></comment></comment></comment></comment><comment><USER6> The thing I found somewhat baffling is that they didn't renew the certificate because they were certain that Firefox wasn't checking the certificate expiration. I'm wondering why they didn't renew the certificate and then implement a certificate expiration check.

I don't mean to be too harsh, but that part of the post-mortem reads like, "Oh, we don't need to renew our intermediate signing certificate because there's a known security vulnerability in Firefox that allows us to get around it."

<comment><USER7> Well, it's the kind of errors that happens when two teams forget to communicate.

<comment><USER8> But the communication is just the "why they thought it wouldn't be a big deal". The "why would you let a certificate expire that is actively used in code signing" is a different issue.

</comment></comment></comment><comment><USER9> Looking at the Technical Report [1], I am confused...

First bullet under Root Causes:

"The server-side teams whose systems (e.g., Autograph) generate signatures knew the certificate was expiring, but did not see a problem because they had reason to believe that signing certificate dates were not checked by the client."

So, if I understand correctly, the assumed process was: Root signs Intermediate --> Intermediate signs Add-on (whether Intermediate is valid or not) --> FF only validates the End-entity is within date range.

Is this the correct procedure? You're telling me that the intended behavior is that FF allows add-ons signed by an expired cert? If that is the case, then what is the point of the signing system in the first place?

Additionally, third paragraph under Recommendations:

"Second, if we are committed to the current PKI and add-on signing approach, [...]"

'_If_ we are committed' is non-absolute. Is the FF team actually set on this approach?

1: [https://wiki.mozilla.org/Add-ons/Expired-Certificate- Technic...](https://wiki.mozilla.org/Add-ons/Expired-Certificate-Technical- Report)

Edit: clarifications

<comment><USER10> "FF only validates the End-entity is within date range"

No, this was disabled back in 2016. The technical report briefly had this worded wrong, sorry if you read it before it was corrected.

"what is the point of the signing system in the first place?"

Like the technical report describes, things like "monitoring add-ons not hosted on AMO, blocklisting malicious add-ons, providing cryptographic assurance by chaining add-ons to the Mozilla root."

(Disclosure: I work for Mozilla)

<comment><USER9> So, the intended behavior is that FF does not check any Add-on related cert for a valid date range? In that case, what prevents an insider threat of a Mozilla employee signing malicious add-ons with an out-of-date cert?

<comment><USER11> When you sign software with certificates that can expire, you run into the problem that software can stop working with no change on the user's end whatsoever. And of course, the shorter the expiry on code-signing certificates, the worse this problem becomes.

The solution for systems like Java and Authenticode is for Certificate Authorities to also offer a 'Trusted Timestamping' service, which certifies that the software existed at a time when the code-signing certificate was valid.

In Java's case, as the CA providing the timestamp is already trusted issue code-signing certificates with arbitrary dates, this doesn't add any new trusted parties.

</comment></comment></comment></comment><comment><USER12> From the linked incident report:

> Now that we understand the importance of add-on support for mobile (ratings > plummeted during the incident), we might want to reconsider that > strategy/priority for Fenix.

Well that's promising at least. The listed Next Steps is still full of uncertainty and there isn't a firm decision (presumably the people involved in this post-mortem are not the relevant decision makers), but at least somebody is bringing it up.

Given the Mozilla track history, though, I'm not optimistic.

</comment><comment><USER13> I wonder why there is no timestamping used on the binaries.

If I sign a binary with Authenticode on Windows and I use a timestamp server, Windows still considers the binary signature valid, even if the certificate expired because it can verify that at the time of signing the certificate was valid.

If you don't use a timestamp server when signing the binary, after certificate expiration the binary is considered invalid.

</comment><comment><USER14> I'm very disappointed that although using Studies (Normandy) is briefly mentioned, it is treated as just an unusual option rather than a breach of policy. I was really hoping for an explanation of why they felt they could break their promise to users that Studies would only ever be used for, well, studies.

* All Shield Studies must be designed to answer a specific question - Shield is a tool for evaluating ideas and features in the product. If you are not trying to evaluate a proposed feature or idea there are other means of shipping your code. Shield studies will always respect user privacy in accordance with our data collection policies

* All Shield studies will adhere to the scientific method for answering complex questions - Generate a hypothesis, test, collect and analyze data, validate or refute hypothesis, refine, repeat..

* All Shield studies require a PHD (Product Hypothesis Doc) - A PHD or Product Hypothesis Doc outlines the overarching research question the study is trying to answer. It requires the study author to think critically about the problem and the outcomes long before the study ships.

These guidelines ([https://wiki.mozilla.org/Firefox/Shield/Shield_Studies#Guidi...](https://wiki.mozilla.org/Firefox/Shield/Shield_Studies#Guiding_Principles)) were created after the beach of trust represented by the Mr Robot cross- promotion as a means to restore confidence. Yet now they have been ignored, and again "Studies" has been used as a convenient backdoor.

<comment><USER15> > I was really hoping for an explanation of why they felt they could break > their promise to users that Studies would only ever be used for, well, > studies.

It's literally there:

> Because we had a lot of users who were affected, getting them fixed was a > very high priority, which made Studies the best technical choice.

Which makes perfect sense to me. When you have a worldwide critical degradation of service, you fix that as soon as humanly possible, ideological pearl clutching be damned.

<comment><USER16> "Honoring the promise you depended upon to get users to install the feature in the first place" isn't ideological, or pearl-clutching.

Imagine your point in other contexts:

"If your company is about to go bankrupt unless it gets some serious revenue, then sure, you start selling the user data you promised not to, ideological pearl-clutching be damned."

"If a priest receives the confession of the killer in an unsolved mystery, he should report it to the police, religious pearl-clutching be damned."

And "critical degradation of service" is overstated; users always had the option to use another browser (like Mozilla seems to want these days). When they shut off everyone's unsigned, whitelisted addons in 2016, that wasn't regarded as a critical degradation.

<comment><USER17> > "If a priest receives the confession of the killer in an unsolved mystery, > he should report it to the police, religious pearl-clutching be damned."

Confidentiality in such areas (also med/law) is usually restricted to past actions. If you confess you're going to kill someone, that does indeed have to be reported to the police. I doubt your local laws are different here.

Thus to construct a better analogy we need ongoing harm that was initiated in the past but can only be shortened by taking action. Maybe a confession like _" Just had an argument with my kid and imprisoned it in the basement without food and water. Will release it after two days"_. Now should this have to be reported to CPS? I'm not sure, but think I would favor yes.

<comment><USER16> I was making a moral (and somewhat practical) argument, not a legal one about a particular jurisdiction.

</comment></comment></comment></comment></comment><comment><USER18> There's no reason for local software to stop working when a remote server is unavailable, reconfigured, neglected, or your clock is wrong. They are doomed if they think this is sustainable.

<comment><USER19> That is not what happened. A certificate built into the Firefox installation expired. It had nothing to do with "remote servers".

<comment><USER18> It was a time bomb to disable functionality after a certain date and should never have been there in the first place. The decision to silently disable the override in about:config is just more evidence of how sick this it. This is not software empowering the user. This is software assuming the user is a moron who may break it.

</comment></comment></comment><comment><USER20> The Post-Mortem result for me is that I have xpinstall.signatures.required permanently disabled.

I'm stuck running an old version of Firefox because I have too much data in Tab Groups, and I haven't be able to migrate it yet.

I'll have to find the time someday, since Google Sheets no longer works.

<comment><USER21> > I'm stuck running an old version of Firefox because I have too much data in > Tab Groups

Yikes! You're running a years-old version of Firefox without security updates? And you're browsing public websites?

I think there are some supported add-ons for tab groups that work with current Firefox. Please, please don't run an insecure browser on the public internet.

<comment><USER22> There are no working tab group addons post XUL, I've tried them all and they are all completely broken. While I agree that you shouldn't run without updates, please don't tell people that there is a working substitute for this functionality.

<comment><USER23> I used to use the XUL version and now use a replacement, and it fully fulfils the function the XUL version did for me.

</comment></comment></comment></comment><comment><USER11>
      the Firefox QA plan didn't incorporate
      testing for certificate expiration (or
      generalized testing of how the browser
      will behave at future dates) and
      therefore the problem wasn't detected

A few years ago I tried to find a VM or something similar that would let me test software with clock offsets applied. At the time, most of the VMs I looked at had prioritized the much more common requirement of _not_ having the guest OS clock become inaccurate.

Does anyone know the state of the art in integration testing software for future dates?

<comment><USER24> One way is to override the libc time functions using LD_PRELOAD using something like [https://github.com/wolfcw/libfaketime](https://github.com/wolfcw/libfaketime)

This doesn't work with everything (for example doesn't work with Go because Go doesn't use libc for such things) but if it does then it's a very simple to use:

      % LD_PRELOAD=src/libfaketime.so.1 FAKETIME='1999-12-31 23:59:59' date
      Fri Dec 31 23:59:59 PST 1999

      % LD_PRELOAD=src/libfaketime.so.1 FAKETIME='1999-12-31 23:59:59' python  -c 'import time;print(time.ctime())'
      Fri Dec 31 23:59:59 1999

or to have the fake clock ticking starting from the specified time:

      % LD_PRELOAD=src/libfaketime.so.1 FAKETIME='@1999-12-31 23:59:59' python  -c 'import time;print(time.ctime());time.sleep(1);print(time.ctime())'
      Fri Dec 31 23:59:59 1999
      Sat Jan  1 00:00:00 2000

</comment></comment><comment><USER25> The HN frontpage is just a long list of postmortems right now.</comment>


IPhone 2.0 Firmware (5A347) Available Early - <AUTHOR> http://www.macrumors.com/2008/07/10/iphone-2-0-firmware-5a347-available-early/ <comment><AUTHOR> downloading this in safari causes the file to be automatically extracted, which is not what you want. either download with FF or from the command line (I'm sure there's also a way to tell Safari not to automatically extract the downloaded file by I don't know that much about Safari).</comment>


The SRGB Learning Curve - <AUTHOR> https://gamedevdaily.io/the-srgb-learning-curve-773b7f68cf7a#.vekxs27q5 <comment><USER2> IMO the worst offenders are image shrinking features in many applications. Open this in your favorite browser/image viewer then shrink it to 50%:

[http://www.4p8.com/eric.brasseur/gamma-1.0-or-2.2.png](http://www.4p8.com/eric.brasseur/gamma-1.0-or-2.2.png)

I tested it right now in chromium 46 and it still doesn't scale it correctly. Last time I checked Firefox doesn't do it better.

An other good article about this problem: [http://www.4p8.com/eric.brasseur/gamma.html](http://www.4p8.com/eric.brasseur/gamma.html)

There are other areas where this becomes apparent, such as physical lighting models where it only makes sense to use a linear colorspace. Is there a type safe library to handle colors well (like having separate types for "compressed" and "linear" color values)? I think that could mitigate most of these problems caused by naive implementations.

<comment><USER3> A tricky thing w/r/t browsers is that they are often really crappy at figuring out what color space a PNG image is supposed to be in. I think they often intentionally strip out the color space info from PNG images for the sake of helping PNG images blend smoothly into CSS / Flash / etc., for which they also don't do correct color management. [The CSS spec says that colors should be interpreted as sRGB, but browsers don't actually follow the spec.]

As a result of this problem, it's difficult to judge whether image resizing specifically is being done incorrectly, or whether the image is just being interpreted incorrectly at any size.

You'll notice if you open your first test image ([http://www.4p8.com/eric.brasseur/gamma-1.0-or-2.2.png](http://www.4p8.com/eric.brasseur/gamma-1.0-or-2.2.png)) in Apple's Preview app, you get the correct behavior, but this is different from the behavior in Safari, for example, which shows something incorrect at every size. Stranger still, the behavior in Safari is roughly "correct" while resizing a browser window, but as soon as you let go of the mouse, it reverts to being incorrect.

There are multiple possible ways to embed color space info into PNG images, and the PNG spec is actually really terrible and confusing on this subject which results in lots of inconsistencies from one implementation to another. If I remember correctly some of them are treated better by browsers than others, but I'm not sure if there's a way to encode images such that it will be handled properly everywhere (I mean, handled correctly even at 100% size, without any resizing). I'm not an expert on browser image rendering though. cf. e.g. [https://hsivonen.fi/png-gamma/](https://hsivonen.fi/png-gamma/) or for a more general browser color rant cf. [http://regex.info/blog/photo- tech/color-spaces-page1](http://regex.info/blog/photo-tech/color-spaces-page1)

* * *

One particularly annoying thing about gamma and image rendering is that all font and vector graphics rendering in pretty much all software (Illustrator, Inkscape, Cairo, Quartz, browsers, etc.) is implicitly done (incorrectly) in gamma-encoded space rather than linear space. This causes vector graphics with thin lines to change dramatically in appearance as you scale them up or down, but no implementation is able to fix their behavior and do the right thing because all content (e.g. small text rendering) in that renderer will suddenly look "wrong".

<comment><USER4> Regarding your last point, that's another reason to hope hardware accelerated path rendering gets adopted ASAP:

[https://www.youtube.com/watch?v=yN6eyFYDMkg&t=11m4s](https://www.youtube.com/watch?v=yN6eyFYDMkg&t=11m4s)

(I know this is not _exactly_ the same visual bug, but generally speaking Mark Kilgard & Co. seem to have done their homework and really implemented the specs properly)

The other reasons being that it's faster _and_ more energy-efficient.

<comment><USER3> Have you seen this work? [http://w3.impa.br/~diego/projects/GanEtAl14/](http://w3.impa.br/~diego/projects/GanEtAl14/)

<comment><USER4> Nope, thanks for the link!

</comment></comment></comment></comment></comment><comment><USER3> To pick a couple minor nits:

> _For those of you familiar with the binary format of floating-point numbers, > we do not think of them as being "gamma 2.0" — they are still just linear > values, we just bear in mind that their precision characteristics are > similar to those of a gamma 2.0 curve._

Actually floating point numbers are distributed roughly like log₂x, not like √x. [https://commons.wikimedia.org/wiki/File:Log_by_aliasing_to_i...](https://commons.wikimedia.org/wiki/File:Log_by_aliasing_to_int.svg)

> _Monitors were (and still are) gamma-space display devices_

This is misleading. LCD displays are "gamma-space display devices" not because of anything inherent to the medium, but because they have built-in lookup tables which interpret incoming data that way and set output to look correct based on the particular characteristics of the display. Cathode Ray Tube displays do have a nonlinear relation between voltage and light output which is fairly similar to an inverse gamma curve (of gamma ~2.5), but that's more a convenient coincidence than a reason for gamma encoding digital images, which is primarily about using a limited number of bits in an efficient way.

* * * * *

Anyone who needs to deal with gamma encoding issues should really read Charles Poynton's FAQ and FQA:

[http://poynton.com/notes/colour_and_gamma/GammaFAQ.html](http://poynton.com/notes/colour_and_gamma/GammaFAQ.html)

[http://poynton.com/notes/color/GammaFQA.html](http://poynton.com/notes/color/GammaFQA.html)

<comment><USER5> Good catch. Charles is really up there with the best in colour theory. For anyone interested he has a couple of really good courses on fxphd. One of the best teachers I've had.

[https://www.fxphd.com/fxphd/courseDetails.php?idCourse=318](https://www.fxphd.com/fxphd/courseDetails.php?idCourse=318)

[https://www.fxphd.com/fxphd/courseDetails.php?idCourse=375](https://www.fxphd.com/fxphd/courseDetails.php?idCourse=375)

[https://www.fxphd.com/fxphd/courseDetails.php?idCourse=421](https://www.fxphd.com/fxphd/courseDetails.php?idCourse=421)

</comment></comment><comment><USER6> I wish more software developers understood these things.

A lot of games IMO have been marred by this, usually you can see it via really bad banding in dark areas.

My recommendation? A working temporal dither implementation while baking it to sRGB yourself in the final stage of your pipeline.

My other recommendation? 10 and 12 bit output becoming the norm, which Rec 2020 is mandating and future HDMI and Displayport specs will be forced to support for proper 4k support (currently, no 4k TV or monitor being sold meets 4k compatibility requirements due to not supporting Rec 2020's colorspace nor colordepth) (HDMI 2.0 already _supports_ Rec 2020, but does not _mandate_ support for).

<comment><USER7> 12bit will be pretty awful to work with though. That will mean 36 bits per pixel, which doesn't fit into a whole number of 8-bit-bytes. Best to just bite the bullet and go 16bit for internal representation.

<comment><USER6> That's how a lot of software that can handle 12 bit already does it. It is only baked to whatever format the display wants (yes, 12 bit displays exist, they are tens of thousands of dollars, and only used very sparingly during post-production).

Presumably, it is either padded to 5 bytes, or two pixels are shoved into 9 bytes when shipped to the monitor.

</comment></comment></comment><comment><USER8> Another great article highlighting how often software gets it wrong is here: [http://www.4p8.com/eric.brasseur/gamma.html](http://www.4p8.com/eric.brasseur/gamma.html)

</comment><comment><USER9> This is a source of pain in web dev, too - we convert uploaded images to srgb so they display as consistently as possible across devices - and generally clients save in srgb. It's when they upload Adobe rgb images that get auto- converted that the fun starts, as the effect is usually one of the image appearing "washed out".

Curious if anyone has come up with a clever solution to this one.

<comment><USER3> What does "auto converted" mean in this context?

If you know the image is Adobe RGB (e.g. it has an embedded color profile, or has an "Adobe RGB" metadata tag) then you should either keep that metadata around, or if you want to turn it into an sRGB image you'll need to convert the colors of every pixel. Since the Adobe RGB gamut is larger than the sRGB gamut, for some images you'll need to map out-of-gamut colors into the sRGB gamut, either by hard clipping them (I recommend clipping along constant hue/lightness lines in CIELAB or CIECAM02 space) or by doing a more sophisticated transformation. There are lots of possible choices to make when gamut mapping. If you're interested in the details there was a ~1000 page book published on the subject a few years ago. :-) (Or the easy thing is to just let some existing color management software like Apple ColorSync, LittleCMS, or whatever Adobe's thing is called handle the gamut mapping for you, though in my opinion they all do a relatively mediocre job, unfortunately.)

If you don't know the image was Adobe RGB – i.e. the metadata was stripped out before it got to you – then there's not a lot you can do, unless you want to examine the color content of the image and come up with some kind of heuristic for guessing the color space.

<comment><USER9> Yeah, it's usually the latter - and when we do know it's Adobe RGB we do exactly what you recommend, going via CIELAB - but it's not precise, and clipping does occur.

We're leaning towards "please upload a valid image" as a solution, which is a shame, but the whole perceptual end of things makes doing this automatically nigh on impossible - can't come up with a solution that works for all cases.

<comment><USER3> When there's no profile or metadata included, you could show the uploader an image preview and give them a choice of color spaces.

</comment></comment></comment></comment><comment><USER10> We published a follow-up post yesterday, essentially calling for a better vocabulary usage when discussing about colour science and theory: [http://colour-science.org/posts/the-importance-of- terminolog...](http://colour-science.org/posts/the-importance-of-terminology- and-srgb-uncertainty/)</comment>


Francis Ford Coppola: who said art has to cost money? - <AUTHOR> http://the99percent.com/articles/6973/Francis-Ford-Coppola-On-Risk-Money-Craft-Collaboration

<comment><USER2> Pity this one went down without a trace. It's a transcript of a marvelous discussion he had with aspiring filmmakers. Anyone interested in creativity, art, or movies should read it. I came away thinking that I should watch Coppola's movies again (never was a huge fan).</comment>