A Plan to Flood San Francisco with News on Homelessness - <AUTHOR> http://www.nytimes.com/2016/05/16/us/san-francisco-homelessness.html <comment><USER2> This isn't the usual yada yada; it's a dramatic media experiment. Some quick quotes from the article:

 _Advocacy is a longstanding taboo in American journalism, making reporters and editors wary of discussing solutions to the problems they highlight in their coverage.

[T]he question of whether San Francisco's journalists are crossing into activism has not come up, at least not in the initial meeting of news organizations last month. [...] "It was sort of shocking that there was no dissension [...] On the contrary, the conversation was, 'Let's do way more.'"

"Your job is to investigate solutions," she said. "People want to read about how to fix broken systems."_

It's disappointing that most of the comments here are missing all of this, and just focusing on the same old arguments about homelessness that could be made on any of the articles that get written 25 times a week.

<comment><USER3> "People want to read about how to fix broken systems."

I hope that's true, but I suspect that people prefer to read about how broken things are, and point fingers at the perceived culprits. Fixing things leads eventually to "slow news days".

Where I live in Japan, it's not uncommon for the news to spend a bunch of time on a non-fatal car crash, or a string of petty thefts in convenience stores, or a section of train tracks that needed to be fixed in a hurry. Every few weeks, some government official will be disgraced for having a staff member who spent a few dollars worth of public funds on a discretionary lunch or something like that. Occasionally, someone will get murdered (usually small kids, sadly) and that will dominate the news for a day, or a week. Celebrities getting married. And then the horror show of news from other parts of the world.

I'm exaggerating, but not by much. We should all be so lucky to have these slow news days.

<comment><USER3> By the way, I'm aware that Japanese media is tightly coupled to the ruling party. You'll be hard pressed to find anywhere that isn't these days. What I'm trying to get at is the focus on small stuff for lack of awful big stuff that actually gets addressed. Keep in mind, we're talking about a place where a _giant wave_ swept in and killed _twenty thousand_ people and their pets and livestock, etc. in a few minutes, so it's not like it's trouble-free here.

</comment></comment></comment><comment><USER4> I can't believe that SF spends $240M dollars per year on homelessness, and the current environment is the outcome of all that money. Even worse, there is zero accountability so there must be mass corruption and waste taking place because based on what I see every single day, none of that money is being spent properly.

[http://www.sfchronicle.com/bayarea/article/S-F-spends- record...](http://www.sfchronicle.com/bayarea/article/S-F-spends- record-241-million-on-homeless-6808319.php)

<comment><USER5> If you were building cheap homes, say at 120k a pop, you could build 2,000 such homes every year. The total homeless pop in SF is 6,000. In three years you could build 6,000 such homes in say Mississippi or some other middle of nowhere place where land is very cheap.

<comment><USER6> > _...building cheap homes, say at 120k a pop..._

Cheap homes are $20k a pop. $10k for materials, and $10k for contracted labor. If you allocate another $20k for the land itself, and completing utility connections to it whenever they do not already exist, that's $40k total.

If you had $240M to spend each year, you could build 5000 houses every year, and have $40M left over for rudimentary commercial strips, administrative buildings, libraries, schools, firehouses, and cop shops.

You could stamp out a new municipality _every year_ in 10 undeveloped adjacent square-mile survey sections. 6400 acres would be 5000 for the houses, and 1400 for the commons and businesses. You don't even need to go as far as Mississippi from SF. There are _huge tracts_ of undeveloped land on the Great Plains between I-25 and I-35. They're actually cheaper than Mississippi, mostly because they have a less reliable fresh water supply.

<comment><USER7> " _...because they have a less reliable fresh water supply._ "

Congratulations! You've reinvented the reservation system!

<comment><USER6> Now the only problem would be getting them from SF to the new town. There would have to be some kind of road of wretchedness, or boulevard of bitterness, or something...

</comment></comment></comment></comment></comment><comment><USER8> All I know right now is that if I didn't have my family, I'd be homeless myself right now. Right now I'm utterly, utterly depressed and finding it hard to do anything. It's like trying to run through a vat of molasses, nothing works very fast.

I'll probably be better after some more sleep, but I know the black dog and anxiety is always just around the corner. It makes it very hard to do anything let alone look for work. I really don't know how an already homeless person with a worse mental illness does it. I fear they could be the most capable person in the world, but if you hit a certain stage it's very hard to pick up from.

It not self-pity either. I constantly tell myself that the feeling isn't reality but just my brain being out of kilter temporarily. And I'm of course correct. But if your head isn't ordered, no amount of positive thinking is ever going to fix it. Sometimes all you can do is ride it out, but you can only do this if you have a safe place to sleep, eat and keep yourself clean. And that sure as hell isn't on the streets.

I hope that is never me, but sometimes I realise that I'm only a few steps removed from the situation of those without anything. That's why I get frustrated with so many attitudes towards homelessness and mental illness. Saying that it's there own fault isn't terribly helpful. Maybe it is, maybe it isn't. Maybe some homeless people choose to be homeless. Maybe some are lazy and got into the situation through their own behaviour. But I'll hazard a guess that isn't most people.

God help you if you ever hit rock bottom. God help you from the morally outraged, fit and wealthy self-made man. In his eyes, you're worse than a failure, you _deserve_ your situation.

<comment><USER9> I really appreciate you sharing your personal situation. That last line was amazing. Some people lack compassion, spoiled by their own blessings that they are oblivious to, because their pride hides those blessings from them. Their ego tells them "I worked too hard and am too damn good at what I do, and too damn smart and able to have my success be attributed to anything but my self". Of course I may be citing an extreme example, but I have seen people espouse this line of thinking, because you do see it promoted in subtle and less subtle ways.

</comment></comment><comment><USER10> This is what struck me when I first visited SF - such a great country, all this tech and you have homeless people on your office doorsteps? " "The measure of a society is found in how they treat their weakest and most helpless citizens." \- Jimmy Carter

<comment><USER2> To be fair, in a lot of cities where you _don 't_ see homeless people on office doorsteps, it's not because they take better care of their most helpless citizens, but rather because they crack down on them:

[http://www.nytimes.com/1999/11/20/nyregion/in-wake-of- attack...](http://www.nytimes.com/1999/11/20/nyregion/in-wake-of-attack- giuliani-cracks-down-on-homeless.html)

</comment></comment><comment><USER11> Whenever somebody comes and visits, the first thing they mention about San Francisco is all the homeless people. I hope, for the sake of homeless, that this leads to some substantial, positive change, because currently it feels like they are just being left out to dry.

<comment><USER12> Clearly, wherever your guests are visiting from handles homelessness better.

<comment><USER13> Not if the reason there are none is because they die off each winter. Or because the climate is too harsh in general. Or because of draconian laws that force people to move on.

</comment></comment></comment><comment><USER14> "We need to be a hell of a lot more creative about how we solve this problem"

I think that's incredibly unlikely. "Homelessness" is not a technical problem, it's a choice about desired tradeoffs. SF is squeamish about anything that might actually work.

</comment><comment><USER15> > her station plans "blanket" coverage on June 29, but will not propose > solutions.

Surely not blanket coverage to raise awareness? The problem is obvious to any one who has spent a day in the city. I don't think this will elicit the call to action they want.

From the relatively little time I have spent in SF and having lived in a number of major cities, the challenges do seem unique. All of the biggest cities have many homeless, however they are not routinely exposing themselves, screaming, lashing out, openly injecting drugs and defecating to the extent they do in SF.

I feel incredibly sorry for the homeless described above, it is really hard to work out why the behaviours seem so common in SF and not other cities.

</comment><comment><USER16> Forgive my pessimism here, but is this the fourth estate really attempting to expose the problems of homelessness for a solution, or is this an attempt by elites in the media to make the problem go away so they don't have to deal with it. The opening lines where the reporter sees the couple having sex in a tent. That just sets a negative tone for the whole thing. From there it just sounds less like "we need to solve this problem" to "we need to do something to get these people out of here.."

</comment><comment><USER17> This article, from 1984, describes the policy changes that lead to the decline of mental health institutions and the rise of homeless populations made up of the individuals that were a part of those institutions.

[http://www.nytimes.com/1984/10/30/science/how-release-of- men...](http://www.nytimes.com/1984/10/30/science/how-release-of-mental- patients-began.html?pagewanted=all)

<comment><USER18> FYI, the past-tense of the verb "lead" is "led", not its homophone noun "lead".

<comment><USER17> Fast fingers lead to fast mistakes. Thanks. :)

</comment></comment></comment><comment><USER19> Although many people who live without a house are struggling, desperate, addicted, and / or mentally ill, I also think that SF in particular has many such people who are well-adjusted, happy, and simply don't care to live a middle-class lifestyle.

For the former, let's get help. But for the latter, let's not judge.

</comment><comment><USER20> Anyone knows of a city that has successfully "solved" the homelessness problem?

<comment><USER21> Utah did, or so they claim: [http://www.npr.org/2015/12/10/459100751/utah- reduced-chronic...](http://www.npr.org/2015/12/10/459100751/utah-reduced- chronic-homelessness-by-91-percent-heres-how)

<comment><USER14> Easy enough to implement "housing first" where housing is cheap.

<comment><USER22> Housing would be a lot cheaper in SF if SF wanted cheaper housing.

Yes, they have geographical limitations on how much housing they can build horizontally, but on top of those they also have strict self-imposed limitations on how much they can build vertically.

</comment></comment></comment></comment><comment><USER23> I couldn't even imagine trying to "fix" a homelessness crisis in SF.

From here in Indianapolis, IN when the whether turns cold for the winter many homeless get out of town, turn to the shelters or other means of general weather protection. While some will just layer up and deal with the cold. I know a "homeless" man that chooses to be "homeless". He loves the freedom of being able to go and do as he pleases. I would imagine SF has many who enjoy the life style. How do you "fix" that? Besides flat out ordinances with police backing...

Very dynamic issue to "fix".

</comment><comment><USER24> "Ms. Kernan said her station plans "blanket" coverage on June 29, but will not propose solutions."

Just trying to palm it off on everyone else, people know the system is broken, they don't need more whiny ass bitching. They want solutions!

Edit: Actually reading further down one of the proposed 'solutions' is building a mental hospital for them all!! That's just horrific, not all of them are mentally ill and that's a dangerous judgement to make. They just need help to get back on their feet. It could just as easily be any one of us in their position!

</comment><comment><USER25> 1\. Don't want them sleeping in tents on sidewalks? Provide a place to pitch a tent that doesn't cost money--maybe rent a piece of land in another county, and use tax payer money for security, etc. Other counties don't want them. Problem.

2\. Want to avoid stepping on feces/urine? Build some restrooms? Oh no? They will just have sex in them, or shoot up. Problem. (By the way, I can find a restroom in that lovely city.)

3\. That study concluded most homeless are from San Francisco. "Oh, no they arn't! It's a bad study!" Problem.

4\. "There here for the benefits?" What benefits? I only know of one benefit, and that benefit was for homeless animals. It was shut down years ago.

5\. Every county in the Bay Area has been essentially harassing the Homeless. In Marin County, where your bosses live; there's not one square inch of land that's legal to pitch a tent, or sleep--that's free. If you have no money--you are breaking some municipal/county law by sleeping.

6\. Our economy has desimated most jobs. The jobs left don't provide a livable wage. This has been going on for 25-30 years. Problem.

7\. I haven't even got to drug use, or mental patients. Problem.

8\. Oh yea, why is the Bay Area going to do this day of homeless awareness now? I think the writing us on the walls. I know Willie Brown is publically wondering what SF is going to do with thousands of newly unemployed tech. workers.

<comment><USER26> > I can find a restroom ...

Did you mean "can't" or maybe "can never"? In most cities I've been to, including SF, it's been really hard to find public restrooms.

</comment></comment><comment><USER27> Carcetti for governor?

</comment><comment><USER28> You should have followed your instincts.

<comment><USER29> Comments like this are not allowed here.

We detached it from [https://news.ycombinator.com/item?id=11705156](https://news.ycombinator.com/item?id=11705156) and marked it off-topic.

</comment></comment><comment><USER30> "The 30 years of systematic disenfranchisement of poor people never really bothered me," Ms. Cooper said, "But as soon as those disgusting people made me personally uncomfortable, I knew we had to _do something_."

Wow. Golf clap for bravery there. Great work.

<comment><USER8> The problem with a systematic dismantling of welfare protection and the denial of things like basic health care is that people who hit rock bottom have got to go somewhere. And if you create a culture where things like a minimum wage are seen as bad for business, you'll get people who don't make enough to live a normal, basic life. They'll be one disaster removed from losing the lot and the landlord turfing them into the streets.

When that happens, you can move them on, but they'll eventually grow to such numbers there's nowhere to move them to. One day, you might hit a personal crisis. Or your kids might hit that personal crisis. Or your whole family might find themselves living in a car. Then _you_ will be the one being moved on. And you will curse those who dismantled the welfare systems. You may well be cursing yourself.

<comment><USER31> Yes, they do have to go somewhere. There is a solution for this in the movie Soylent Green.

<comment><USER8> You really do _not_ want to give the Immigration Department any ideas like this... :-)

In all seriousness, refugees are dying on Manus Island and Nauru already, either from suicide, lack of medical care or from violence. In my view, it's only marginally more safe in off-shore detention than it is on the very boats the facilities are meant to be stopping.

</comment></comment></comment></comment><comment><USER32> How about bussing back the homeless that cities across the US send to SF, or if Regan wasn't dead sending them to his place since his defunding of mental health flooded the streets with schizophrenics?

Edit: see my links below... Not sure why I'm getting down voted but these things happened and contributed to the situation at hand. Homelessness is a very complicated issue, I'm not suggesting this is the entirety of it.

[http://thinkprogress.org/health/2013/09/11/2602391/san- franc...](http://thinkprogress.org/health/2013/09/11/2602391/san-francisco- sues-nevada-patient-dumping/)

[http://www.povertyinsights.org/2013/10/14/did-reagans- crazy-...](http://www.povertyinsights.org/2013/10/14/did-reagans-crazy-mental- health-policies-cause-todays-homelessness/)

<comment><USER33> I suggest you do more research on how we ended up with this situation. Saying "Reagan defunded mental health" gives you about 1% of the picture.

<comment><USER34> Not really. Reagan did do that. He also made a lot of dick moves in the 1980s. That's why he was controversial.

He also cut school lunches shortly after taking office which spawned the famous meme "Ketchup is a vegetable."[1] Now I know some hagiographer of Saint Ronald of Hollywood (Peace Be Upon His Name), will say that he never said that. And they would be technically correct. The actual guidelines said that schools "could credit a condiment such as pickle relish as a vegetable."

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

<comment><USER33> You're conveniently ignoring the fact that how mental health issues were treated were changing as well. Reagan was hardly at the forefront.

</comment></comment></comment></comment><comment><USER35> San Francisco has a wealth of homeless people because:

1\. The climate is good. 2\. The population is rich. and 3\. The government is liberal.

It's a trifecta of bum-bait. No policy changes aside from going right-wing and shipping them off to Austin or Charlotte (or whatever liberal sucker is next down the list) is going to fix the problem.

<comment><USER30> No. Every bit of research on this issue discounts this theory. I'm sure it makes you feel good to say it, but you're wrong.

<comment><USER36> That's interesting - how do they discount these theories? Do you have an example of such research?

<comment><USER30> Try reading the rest of this thread</comment></comment></comment></comment>


Man's eye saved by stem cells - <AUTHOR> http://www.channel4.com/news/articles/science_technology/manaposs+eye+saved+by+stem+cells/3474737

<comment><USER2> I wonder if those that blindly (pun intended) jumped on the 'no to stemcell research' bandwagon a few years ago are already feeling a bit guilty or not.

The obvious possibilities of stem cell research were so vast that I was really surprised at the level of support this Luddite stance received.

<comment><USER3> I think most of the people on the 'no to stemcell research' bandwagon are more specifically against embryonic stem cell research. This was accomplished using 'adult stem cells' from the man's other eye, which I don't _think_ many people have an issue with.

<comment><USER2> The stem cell research ban was technically on embryonic stem cell research only (and from what I remember lines that already existed were 'exempt'), but that does not change the fact that researchers using any stemcells at all found their chances of getting funding drastically reduced.

There are afaik three sources of stem cells, adult ones, embryonic ones and stem cells taken from umbilical cord tissue.

The ban itself stemmed from a very bad mixing up of religion and politics.

<comment><USER4> As I understand it, embryonic stem cells (the ones that were banned) are acquired by basically destroying a human embryo. I don't think it is "very bad mixing up of religion and politics" to ban destroying what can be considered a life. You might disagree whether the life is worth saving, but the embryo is undeniably living. You might disagree as to whether a human embryo is human enough that killing it constitutes killing a person. But if one's religious ethics are that killing an embryo == killing a person, I think it is reasonable politics to ban embryonic stem cells.

EDIT: clarity

<comment><USER2> As I understand it those embryos were going to be destroyed anyway. The difference being that now they might be used to further research. It's not like the embryos were created to be destroyed for research, they're a by- product of fertility enhancing procedures.

<comment><USER5> In the interest of empathizing with the other side, here's what this sounds like if you're pro-life: "As I understand it, there were Africans who were going to die in Africa anyhow. The difference being that now we might get some use out of them. Its not like we went to Africa for the slaves, they're just a by-product of the resource exploitation."

<comment><USER2> That's one of the most warped analogies that I've ever seen.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I'd personally prefer to have a new cornea rather than Lasik, but I hear that recovery periods for this type of procedure are fairly long. Hopefully that will improve.</comment>


Ask HN: Web crawling theory - <AUTHOR> Hi, I'm looking for documents or books about web crawling, ideally not about a language but more general. Can you help me ? Thank you. <comment><USER2> Well you could start with 0.0.0.0 and ping each ip (~4.2 billion) until 255.255.255.255 on port 80/443 and you have browsed the front page of every website on the IPv4 internet. Next repeat the process but this time follow every link in a breadth search pattern to begin indexing the internet or web crawling if you will.

If you wanted to make a plagiarism detector for example, on the pages you index create a histogram of word triads for each indexed web page. Then compare a document for validation with the word triad signatures you created earlier to see if there is a potential match</comment>


Reddit Breach Highlights Limits of SMS-Based Authentication - <AUTHOR> https://krebsonsecurity.com/2018/08/reddit-breach-highlights-limits-of-sms-based-authentication/ <comment><USER2> Earlier discussion about Reddit breach:

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

</comment><comment><USER3> Given the sketchy password policies of many (most?) websites, _including banks_ , I have serious doubts that sites will recognize SMS as insecure. The only options seem to be:

* Don't use services with SMS 2FA

* A burner number for each different service that only has SMS 2FA

* Disable 2FA for that service

</comment><comment><USER4> They never said how they determined it was SMS intercept. Did a Reddit employee have their 2FA SMS's go to a Google Voice account that got comped? Working at a large corporation, I've seen people use Google Voice for their 2FA a couple times.</comment>


Uber said to use "sophisticated" software to defraud drivers, passengers - <AUTHOR> https://arstechnica.com/tech-policy/2017/04/uber-said-to-use-sophisticated-software-to-defraud-drivers-passengers/ <comment><USER2> I don't see the scandal.

1) Uber's upfront estimate is based on a naive calculation of getting from A -> B. From a software perspective, that makes sense. The consumer hasn't even committed to riding, so let's just toss out a ballpark figure.

2) If the consumer looks at the figure and says, "Yes, that's reasonable for transportation from A -> B", which they indicate by clicking "Request Ride", then they are agreeing to pay that price for the service.

3) The rider can verbally request a different route once in the Uber.

4) The driver is paid based on minutes and miles, via some formula that they've agreed to. The rider is charged based on an up-front calculation, which they can decide if it is worth it or not.

It sounds like the lawsuit is alleging that the rider is being defrauded by being taken on a different route than the one displayed at time of purchase.

I think this is silly because, to my knowledge, everyone taking an Uber is paying for the transportation and not any particular route. I.e. being taken on a specific route isn't what the rider is agreeing to pay for. Also, as noted in (3), the rider is always free to change the route.

 _Additionally_ silly because the rider seems to be alleging that they were defrauded by _being taken by a more efficient route._ There just doesn't seem to be any "harm" in what's happening here. I can understand the case if the user agreed to go from San Francisco down to San Jose, based on a route straight down the 101 highway, then, once they got in, was driven to San Jose through Los Angeles.

<comment><USER3> > 4) The driver is paid based on minutes and miles, via some formula that > they've agreed to.

TFA says the driver is paid based on an _estimate_ of minutes and miles. This to me is key...

If both the driver and passenger are paying based on an _estimate_ of miles and minutes, then it should be the same estimate for both of them.

However, if the driver is paid by Uber for actual recorded miles and minutes, but the passenger is paying a fixed rate based on the estimated miles and minutes, then I think Uber is absolutely in the clear.

Assuming it's the later, here's how I see it. The miles/minutes estimate provided to the customer is used to derive a fixed price contract for the ride. The customer sees a price, and can decide if they want to accept it. The contract between Uber and the Customer is now set.

On the driver side, I don't know if drivers are contractually supposed to follow exact route instructions from the app, or if they are allowed to deviate based on their own knowledge of the route. But in any case the app is giving turn-by-turn real-time instructions to the driver, instructions which can change minute to minute as the route conditions change. This is necessarily a completely different algorithm than the fare quoter.

There's no requirement, or even a reasonable expectation, that Uber is charging the passenger a fixed price increment over the amount paid to the driver. Based on anecdotal UberPool reports, I would expect there are in fact many cases where the passenger is actually paying less than what the driver is being paid.

On the other hand, if _both_ driver and passenger are paying/paid based on a pure estimate of the miles/minutes to get from A->B then it is a bit of an eyebrow raise if there's a spread between the estimates which Uber profits off of.

<comment><USER4> You've misread the article. It in fact says that the driver is paid for actual miles/minutes.

> Meanwhile, the software utilized in the driver's application, which > navigates the drivers to the User's destination, utilizes traffic conditions > and other variables to provide the driver with a more efficient, shorter, or > quicker route to the User's destination, resulting in a lower fare payout to > the driver.

Further, if you read the actual lawsuit, its clear that the lawsuit is simply claiming that Uber shouldn't be able to pocket the difference between the higher estimated collected amount, and the lower actual amount. They are claiming that Uber represented to them that they "were receiving the full fare, minus the [Uber's] service and booking fees"

<comment><USER3> This was the part of TFA which was unclear to me;

      This latest lawsuit claims that Uber implemented
      the so-called "upfront" pricing scheme in September
      and informed drivers that fares are calculated on a
      per-mile and per-minute charge for the estimated
      distance and time of a ride.

So reading that again I think you're right that's just talking about fares passengers pay, not fares paid to the driver.

Another key question -- what if Uber underestimates due to changing traffic conditions? Does the driver get underpaid? I doubt it.

So of course the estimate is going to be conservative. So what's the contract say? Probably pretty clearly drivers are paid on actual miles and minutes and not Uber's estimate. I mean, if drivers _were_ paid on the estimate, Uber would still probably be getting sued because it is sometimes low.

</comment></comment></comment></comment><comment><USER5> Uber has killed so much goodwill and their reputation so well that no one will be surprised at almost any accusation directed at Uber.

I know my first thought was "not surprising", and I imagine others will think the same.

<comment><USER6> One time when I took an Uber, the driver told me how Uber was defrauding him. He had his friend order an Uber, and he made sure to pick him up, and they compared the prices. The prices, unsurprisingly, were much higher for the passenger than for the driver.

The difficulty of course is proving this to be true. And then the question is how much does Uber lose from a settlement? Probably less than they earned from price manipulation.

But at this point it seems people might actually think negatively of Uber as a whole, but how long that will stick is hard to say.

<comment><USER7> Uber's driver agreement isn't and has never been, "You get X% of the fare we charge." It's "You get $X for this fare." (Based on some combination of time and distance actuals, which are also transparent, along with any multipliers.)

If I can charge a rider $10 for a ride and get a driver to accept $5, no one's "defrauded". They may not _like_ the spread, but that's easy to solve: riders, don't pay $10, and drivers, don't accept $5 in the first place.

<comment><USER8> Uber drivers don't get to accept or reject rides based on destination or cost. All they know is the pickup location of the passenger.

You really have to go through a lot of contortions to defend Uber on this one. Remember when Best Buy created an entire shadow web site just to keep people from looking up prices in the store? Maybe not illegal, but not a great business practice.

<comment><USER9> Uber drivers are free to leave.

(And yes, I agree that this might not be a good business practice. I like my business practices honest and simple.)

<comment><USER10> No. That is a terrible, terrible defense.

<comment><USER9> Why? spcelzrd talked about how uber drivers don't get too choose on each specific ride, and that's true. But that's besides the point: they are playing something like an iterated prisoners' dilemma with uber; but they are free to take their business elsewhere, if uber 'defects' too much.

</comment></comment></comment></comment></comment></comment></comment><comment> Digit-Al To me it seems the disconnect here is between the fixed fee on one side (the passenger) and the flexible fee on the other side (the driver).

Uber is, sort of, acting as an insurer and underwriting the cost of the journey. The passenger pays a fixed fee for a projection of how much the route will cost and the driver gets paid by how much it actually costs in driving time and distance. If there is some sort of unexpected delay and the journey takes longer then, presumably, the driver will be paid more than the passenger paid so Uber will lose out.

As with all insurers Uber charges a higher initial charge to act as a buffer and minimise the chances of losing money on the journey.

I can't really see any way of getting round this as long as the passenger pays a fixed price and the driver is paid a flexible fee.

</comment><comment><USER11> Both driver and passenger think they know the full truth of the matter for the financial transaction they're agreeing to, but they don't. There's implicit dishonesty in that, and when you combine dishonesty with money we call it 'fraud' usually.

But let's set aside the question of whether it was legal. Was it _moral?_

Software like this doesn't fall from the sky- management approved it, software teams wrote it, maintain it and system tests probably exist to validate it works... how do those developers feel okay about this? How do they not feel like they're cheating people out of money? When your Mom hears about it, and asks if you were part of it will you spend 20 minutes giving a long-winded answer about how it was actually not a bad thing? That's a bad sign, man.

I'm reminded of the scene from 'Clerks' discussing Contractors[0]

[0][https://www.youtube.com/watch?v=iQdDRrcAOjA](https://www.youtube.com/watch?v=iQdDRrcAOjA)

<comment><USER12> If we're talking morality, then let's remember that Uber has been _very_ lacking in that area for many years now; they also don't mind, and they're pretty open about them not minding. So from that point of view, nothing new really happened here. It's same old Uber, doing same old shitty and exploitative things to people.

</comment></comment><comment><USER13> I think people misunderstand upfront fares. Its like buying an airplane ticket: the airline charges passengers the appropriate price to fill the plane, and it pays pilots a salary. Pilots who fly more profitable routes don't get paid bonuses because their passengers pay more. Same thing with UPS drivers, who get paid a fixed amount to drive packages around. The concept of "up front fares" seems to be widely practiced in logistics companies, and is probably a part of the transition as ride sharing companies become less like taxis and more like UPS/airlines.

<comment><USER14> Your analogy does not work because UPS drivers and Pilots are either salaried or hourly employees. Their contract is very clear and also covered by employment law.

Uber treats drivers as contractors and then makes certain representations about the payment structure. The allegations here are the equivalent of airlines telling pilots that they get paid a percentage of all the fares, then lying about the total fares.

</comment></comment><comment><USER15> The fare discrepancy can extend beyond longer/shorter route calculation -- there is also the issue of surge price disparity between driver and passenger. For example, the user would see 3x surge pricing while the driver would see 2x surge pricing, where the user is charged for 3x but the driver is paid for 2x. This is pure speculation and I have not witnessed this behavior but it's another way things can go wrong in Uber's favor.

Uber might be able to defend itself saying that the data provided to the driver and passenger are different because of misconfigured caching and stale data being served to either party, but it's a moot point in case Ars Technica has concrete and verifible claims of methodical and programmatic fraud. Personally I have witnessed being billed for $0 in-app after taking a round trip (effectively zero distance traveled) but the email notification showed the proper billing value, and there may be more instances of this "confusion."

</comment><comment><USER7> As an Uber user, I'm unaware of this "upfront" pricing model. I thought the price charged was based on the actual time/distance (which, incidentally, they email me on the receipt). I know I can _estimate_ the trip cost, but I thought that was just an estimate.

Am I wrong? What is this "upfront" pricing?

And is the reverse true? E.g., can I commit to some committed price then have the driver take some crazy route?

<comment><USER7> I'm wrong. Huh.

[https://qz.com/874224/this-year-you-wont-wake-up-to-a- shocki...](https://qz.com/874224/this-year-you-wont-wake-up-to-a-shocking- uber-fare-on-new-years-day/)

But seeing this, it's neither sophisticated nor malicious. They changed their customer pricing model from time-and-miles to fixed-price. That doesn't defraud anyone. And of course Uber is going to balance their increased risk (i.e., that their estimate is too low) against better profitability and customer experience.

Like, duh.

Similarly, Uber _didn 't_ change their pricing model for drivers. It's still time-and-miles. You can certainly argue that drivers should get "more", but are drivers willing to shoulder the increased risk as well? I could see this story going the other way: _Uber Slams Drivers With Increased Risk, Lower Pay_ with an example of some driver getting paid $10 for some crazy-long trip during a snowstorm.

<comment><USER16> I was also very confused about this -- I am a heavy Uber user and was under the impression that I was paying a flagfall plus minutes & kilometers rate.

There's a hint about my confusion in what I just said above: I'm from Australia, where drivers are considered contractors by the Australian Tax Office and must know the gross amount charged for the purposes of calculating their GST (a 10% VAT) burden.

I suspect that Uber aren't able to bring upfront pricing in here without a considerable fight.

</comment></comment></comment><comment><USER17> A bit off topic, but I was just in New Orleans for a fun trip. I normally use Lyft, but apparently Lyft pickups were not allowed at the airport so I used Uber (my last Uber ride was months ago).

After waiting at least 15 minutes in the pickup spot, my driver cancelled. Annoyed, I requested another Uber ride (which went fine). However, I was shocked to learn that Uber had still charged me a cancellation fee for the first ride and continued to argue it was appropriate when I protested.

I finally resolved it when I continued to press the issue, but I found the whole scenario incredibly customer-hostile. Along with the litany of gross Uber stories, I will continue to prefer Lyft!

<comment><USER18> I ran into the cancellation loop a few months ago in Oakland. Had 3 drivers confirm, after 10-15 minutes cancel. Ironically, one driver called to tell me she was cancelling for another ride and then literally drove by us.

</comment></comment><comment><USER19> This just sounds like Uber quickly charges you for the worst case since if they charge you for the best case and things go wrong, Uber loses. No one can know what route will even be possible given how chaotic traffic and closures can be. Then the driver gets paid by whatever route is actually taken. I don't really see this as an issue at all.

<comment><USER20> If Uber wanted to protect themselves, they'd authorize for the slower route and settle for the actual route (up to authorization).

It sounds like Uber is using two estimates (or possibly an estimate and a actual; unclear from article) and simply pocketing the difference to increase their margins.

It's an incredibly deceptive practice if Uber is billing you for a route it doesn't intend to send you on. As a customer, I feel it's outright fraudulent -- they're simply lying about their intentions to charge me a higher rate for their service without disclosing they're billing at a higher rate.

I wouldn't tolerate that from any contracting service -- charge more hourly, or bill by the deliverable, but don't lie to me about how you intend to do the work. I don't care, but I do care you're lying to me.

<comment><USER19> Protect themselves from what? Uber is under no obligation to charge you any amount based off of route, zone, etc. They can charge you whatever they see fit and pay their drivers whatever they see fit. If you don't like the charge, don't take the Uber! If the driver doesn't like the fare, don't accept it!

In case you haven't noticed this is how ALL middle men make money. They charge more to the end user than they pay for a product.

Even your contracting example makes sense. You pay for a deliverable. Does it matter that it costs them less to get it to you and pocket the difference? Nope. That principle is the backbone of all commerce. You charge more than it costs you to deliver.

<comment><USER21> in this case the middleman is telling a different story between the user and driver. uber is, allegedly, charging the user a higher price while showing the driver a lower price so that they are pocketing extra money that should be going to the driver. say uber takes 10% off each transaction by contract. if they charge the user $10 but show the driver the ride is $8, then by paying the driver $7.20 instead of the deserved and agreed upon via contract $9.00, then they are skimming "hidden" money. this is highly deceptive.

this is how a middleman in a more seedy emplyment scenario gets their fingers chopped off because they're making extra money on the side from the business transactions.

</comment></comment></comment></comment><comment><USER22> "27\. In the overwhelming majority of transportations, the upfront price is the amount that a User is ultimately charged for the transportation services by the driver. 28\. When a driver accepts a User's request for transportation, the User's final destination is populated into the driver's application and the driver is provided with navigation instructions directing him or her to the best route to the User's destination"

\</comment><comment>---

It seems like User sees a price X for a ride and accepts it. The driver might see a price X-y if conditions have changed. Doesn't that imply User agrees to price X and driver to price X-y ? Uber might be able to adjust the price at the end but can they be sued if both party agrees to it before hand?

\</comment><comment></comment><comment>--

"36\. Had Plaintiff and the Class known the truth about the Uber Defendants' deception, they would never have engaged in the transportation or would have demanded that their compensation be based on the higher fare."

\</comment><comment></comment><comment>

I am curious as to how they reached to a conclusion that Uber was intentionally doing this. Did a bunch of drivers co-ordinate experiments with riders to see if there was price differences? Did they just log out and log back into different accounts to see the price differences?

I am neutral to Uber so I feel its natural to question if Uber is seen as an easy target to go after since they are already in a legal swamp. IANAL so would love to read what people familiar with law have to say.

<comment><USER23> I feel like the question is, if an Uber driver takes longer to arrive due to unforeseen/unforeseeable circumstances, does Uber pay them more than price X? Or is their comp always capped at X?

If they pay more than X, then what Uber's doing is fair-ish. IMO. If the driver can never earn more than X, then that is a problem.

</comment></comment><comment><USER24> UberGo is most prevalent option in India. In UberGo you are shown a fixed final price at the time of starting the trip. This is supposedly calculated based on the best route you will take from point A to B. Def. of best is - cheapest cost - by trading between short/long routes vs traffic congestion on those routes that cost time. But once the rider gets into the car and driver starts google maps, it can show a different route due to changing traffic conditions. Or driver can refuse to follow google maps and use his own judgement on which route is better (for him). In either case, Uber should be transparent and show to both rider and driver the difference between what was initially calculated vs what it actually cost based on the actual trip. But uber does not do this. Instead of they also add another arbitrary/opaque surge multiplier. If at all they have to do any fraud, they are better off doing that "fraud" by showing different multiplier for rider vs driver. Consumer protection law agencies should insist Uber should at least be transparent and predictable in how they determine surge multiplier and their distance/time metering is accurate.

</comment><comment><USER25> Uber has deliberately fostered a culture that thinks it's acceptable to rip off people and institutions. We should never support companies with behaviour like this.

</comment><comment><USER26> There should be an app where different services (Uber/Lyft/Gett/Via/Arro (which is Yellow Cabs) bid on a ride and the lowest bid gets the ride. That would help to fix this problem.

In NYC I had noticed that Uber was charging as much as Yellow Cab for some of the trips and I was surprised about their algorithm. Now I understand why.

<comment><USER27> Google Maps does this in London (at least on Android). Unfortunately, there's no Lyft in the UK and Uber really dominates the market, so it's pretty useless.

There's also services like RideGuru.

</comment></comment><comment><USER28> In the thread about Uber retreating from Denmark, people asked why taximeters are sensible regulation. This is the reason. We need a trustable third party that ensures fair transactions. Uber cannot be this because they have their own interests. Regularly checked taximeters can ensure this at least partly.

<comment><USER29> Yellow cabs in New York have meters that are _supposed_ to be checked regularly. Never the less, I have taken yellow cabs with unquestionably different rates per actual miles and time driven (e.g. same distance/time, different fares, because one taxi's meter was faster).

<comment><USER12> I assume there's a procedure that you could use to report a particular taxi car/driver, which would put them in a world of hurt for cheating. That's another reason why it's good to have a trustworthy third party there.

<comment><USER29> There is, at least in theory: call 311. However what's to stop the driver from slowing the meter down before he gets inspected? There's no GPS in the meter, as far as I'm aware, so I don't believe there's a way to truly audit the fares the driver has already taken.

<comment><USER12> Shouldn't the meters be tamper-resistant though?

<comment><USER29> They should, and perhaps that's improved in recent years, but it was definitely a common problem as few as 3-4 years ago (from my experience, I've largely switched away from yellow cabs to Uber/Lyft - mostly because the price and experience are vastly more consistent)

<comment><USER12> I see.

Regardless of what one thinks of Uber, there's no denying that taxis worldwide - not just in the US - totally had it coming.

</comment></comment></comment></comment></comment></comment></comment><comment><USER30> If there is a sudden traffic jam and it takes twice as long, then presumably uber must pay the extra money to the driver. So are the drivers asking for some kind of "flat rate or variable, whichever is greater" contract?

<comment><USER31> It's not "extra" money, it's contracted compensation.

The driver stuck in traffic doesn't have the discretion to say, "screw _this_ crowd, I'm bailing on this trip to pursue surge pricing in the next neighborhood over."

<comment><USER30> It seems the drivers are asking for both sides... If up-front is an underestimate, they want the contracted milage/time rate. If it's an overestimate, they want the up-front pricing.

There is no problem with that. Many contracts are drawn up that way. I think it may even offer a great incentive to drivers to make trips faster.

But it doesn't strike my outrage nerve that it's not happening now.

</comment></comment></comment><comment><USER32> Here's an article about this issue from a couple of months ago, for anyone looking for additional information: [http://therideshareguy.com/how-to-beat- ubers-upfront-pricing...](http://therideshareguy.com/how-to-beat-ubers- upfront-pricing/)

</comment><comment> throwaway-blue FWIW Lyft's upfront pricing words the exact same way.

This is a non-story and just good product management. This feature solves the problem of presenting a surge multiplier to the customer. With a surge multiplier the customer has to guess how much it's going to cost. With this they just see the price and figure out if it is worth it or not. Reducing purchase friction and uncertainty increases demand and is good for drivers.

Plus, both Uber and Lyft are assuming risk with upfront pricing. They are guaranteeing a price. Sometimes it will be higher and sometimes it will be lower. The driver is accepting a different payment arrangement based on distance and time.

Both companies are classic middlemen and taking advantage of consumer surplus.

</comment><comment><USER33> If the allegations in this suit are true, fuck Uber forever. They should go out of business, their assets should be stripped from the investors and redistributed to the users, and Kalanick and a bunch of other people should go to jail for fraud. There is no way to overlook the persistent structural problems displayed by this company. Some things could be matters of opinion (like the values of their corporate culture and so on), but there are multiple instances by now of Uber actively choosing to circumvent laws or deceive people on a systematic rather than an occasional or ad-hoc basis. I've rarely seen such a clear chase for revocation of a business license.

</comment><comment><USER34> If they can prove it, this is super shady on Uber's part. Reminds me of Michael Bolton's money making scheme in Office Space.

<comment><USER35> It also doesn't speak well to Uber's reputation that I have no problems whatsoever believing that this might be happening. Compared to all the other unethical stuff that they've done (such as Greyball), I can totally believe that they'd do this as well.

If it's possible for both the rider and driver to see the forecasted route at the time of hailing, it should be pretty simple to throw together evidence to show that different pathfinding is in use.

</comment></comment><comment><USER36> If they business model is based on breaking local laws, why would anyone expect them to deal ethically with them?

<comment><USER37> Uber's side of that story is that the local laws created unjust monopolies with uncompetitive pricing and poor service. For the most part, at least in the US, they weren't wrong.

Airbnb is also based on skirting regulations and has not been the subject of the kinds of complaints of misconduct from users, service providers and employees that Uber has. This suggests to be that the problem is specific to Uber rather than being inherent to companies that use new business models that don't fit into existing regulatory frameworks.

<comment><USER36> I'm sure gun runners tell themselves they're just helping innocent people protect themselves. If your basing your company on the idea that it's is above the law then I guess you have to ask where's the line. What laws do you follow and which ones do you ignore. to me it seems like a slippery slope.

<comment><USER37> There are actually terms in law for drawing such a distinction: malum prohibitum and malum in se.

Malum prohibitum means "bad because forbidden". It includes most regulatory law, requirements to have licences to do things, drug prohibition, etc.... Some of these prohibitions are probably necessary to have a society people actually want to live in, but many are more debatable and some actively make society worse. Prohibited conduct varies greatly between jurisdictions.

Malum in se means "bad in itself". It concerns directly causing harm to others. While some edge cases vary, almost every legal jurisdiction has general prohibitions on murder, rape, theft, fraud and such.

I'm not aware of any significant controversies in which Airbnb has been accused of the latter, nor Lyft. I think most people can tell the difference between skirting regulations that many people honestly believe don't serve the public interest and tolerating sexual harassment or deceiving contractors.

</comment></comment></comment></comment><comment><USER38> I am not sure about the legality here, but I will say that I see this arrangement as good for both the driver and the passenger.

As a passenger I can know exactly what I'm paying ahead of time, and don't have to worry about my driver intentionally increasing the time/distance of a trip to charge me more.

As a driver, you are compensated on a time/distance basis, which means you don't have to worry as much about special requests/traffic/other issues messing with what you earn.

Uber is the one accepting the risk here, which the chance that the payout to the driver exceeds the flat rate the passenger paid because of an extra long trip.

<comment><USER39> Even if it is read charitably, as you have done, that really damages Uber' claim that it's a effectively just a middleman connecting independent contractors with customers. By doing this, Uber is much more than a mere ride arranging service and, instead, they're actively reducing risk and manipulating both sides – something a mere middleman wouldn't do.

</comment></comment><comment><USER40> No this doesn't happen. Some people may think that Uber charges the rider a different rate than the driver receives but it isn't the case.

A driver I had was sure this happened and asked me that on a fairly expensive trip (I think it was around $80).

I told him this didn't happen and I gave him my personal phone number and the amount of fare I was charged. I told him to check his daily numbers and if he didn't see this charge then to call me immediately. He never did.

<comment><USER41> And if he had called you, you would have done... what, for him, exactly? Paid for a lawyer on his behalf? Given him a living wage while he was blackballed by Uber after suing them?

Even if he uncovered an error, he probably would have concluded that calling you would have done nothing. Absence of evidence is not evidence of absence.

<comment><USER40> I work for Uber. I would have tried to figure out wtf was going on because that's not how we do business, as far as I know.

</comment></comment></comment><comment><USER42> Hmm.. So in my area where Lyft is always expensive 20-30% more than Uber. I don't know how much these Lyft guys are stealing ?

</comment><comment><USER43> This is all very interesting, but Uber has pretty robust arbitration and class action waiver clauses in their contracts, both with the users and the drivers. Sadly, this will go to arbitration on an individual basis pretty quickly. I haven't seen Uber lose a motion to compel (except once in S.D.N.Y., but it was quickly reversed on appeal).

</comment><comment><USER44> If, at the same time, driver and customer are being shown different prices, as the article alleges, then that is a problem.

If the price is an estimate, and the estimate is revised based upon actual time and distance, then that is within reason.

That said, this problem would be much more tractable if the drivers were employees of Uber. Perhaps that's what should be done? :)

<comment><USER45> I've used Uber in NY, CA, and FL in the past 6 months. Every time I've done so I was shown exactly the price that I would pay up front. It's a static price. I pay that amount to go from X to Y, regardless of minutes, miles or extraordinary circumstances.

I have no idea what the driver's compensation is based on but it isn't transparently obvious to me that it would be fraudulent for Uber to offer me a static fare that, over the course of the ride, turns out to be different to the value of that ride to the driver.

Imagine: When I am offered a fare based on expected traffic that doesn't materialize, the miles+minutes value to the driver is well under what I paid. Other times, when I hit unexpected traffic, I pay Uber less than they pay the driver because of the extra minutes.

I'm not saying "this wasn't fraud". I'm saying, "I can imagine a pricing and reward scheme by which it's not." If at some point Uber said to drivers "We take an x% cut of the fare.", then yes, it seems clear that drivers would be defrauded by the scheme. Maybe we'll get to find out :).

edit: Other comments have links indicating that my "x% of fare" idea may, in fact, be in Uber's contract with drivers.

</comment></comment><comment><USER46> At this rate, soon Uber will be a verb. Unfortunately, associated with all the wrong things.

a la "...just don't uber it..."

</comment><comment><USER47> The issue is with the agreement with Uber driver's, if Uber is changing the terms of the relationship without letting them know and agree to it, then that's a major violation of the contract and Uber could see a massive labor lawsuit.

</comment><comment><USER48> This seems entirely appropriate and not fraud. For a flat rate, you're charged based on a somewhat longer, non-ideal route, rather than the optimal route which you'll take if everything goes well.

</comment><comment><USER49> I have to think this is not their mode of operation, but if it is, what the hell, Uber? If they actually do something like this as matter of course, goodbye. That's just unacceptable and very dirty.

</comment><comment><USER50> Are we worried that shady behavior that hurts consumers and riders might become the new equilibrium? I don't see how it could be. Whatever the machinations of Uber to artificially alter prices, no matter how sneaky, at the end of the day they'll lose drivers and riders to competitors if their margins drift too far from the economic cost of being the middle man. A driver don't need to know in what way he or she is being lied to or maniuplated to know that they make less per hour driving for Uber than for [Uber's next best competitor]. Thus, I don't see how there could be an equilibrium where Uber is overcharging and still has a significant portion of the market.

<comment><USER51> Leaving it consumers to worry about fraud is not how you create a functioning market economy. The real equilibrium in places where fraud isn't punished is you rely on the market as little as you can and everyone is poorer as a result. Fraud is illegal for good reasons.

</comment></comment><comment><USER52> I have no sympathy for Uber, but it does start to feel like someone is out to get them, the guys just can't seem to catch a break.

</comment><comment><USER53> I heard that Uber is more likely to give you surge pricing if you are running out of battery. Might be a rumor.

</comment><comment><USER54> I'm no lawyer but I understood "fraud" to be misrepresentation. Who is being defrauded? The passenger pays one price, the company pays the driver and takes a bit of that fee. The company is defrauding the driver by not telling him the full fee the passenger is paying? If they word it such as: "A % of the fee and other fees", I don't see fraud. Not a lawyer.. feel free to correct me.

</comment><comment><USER55> So, to both parties, they are under-promising on an unknowable future event.

that is better than over-promising?

i don't see the issue here.

</comment><comment><USER56> Updated description for a start-up: "We are like Uber, except for the lawsuits."

</comment><comment><USER57> jesus christ hacker news has a fucking erection for anything anti-uber, get over yourselves, they provide a taxi service that actually helps people

</comment><comment><USER58> They probably will blame this on previous executives...

</comment><comment><USER59> We walk a thin line between deception and incentives.

</comment><comment><USER60> All it takes is a tiny tiny line in the terms of use that states that the fare differences can be different between client side apps.

The user isn't paying the driver, they are paying uber. The driver is paid by uber under a separate agreement.

So it honestly doesn't matter.

</comment><comment><USER61> Ars Technica Uses Sensationalist Headlines And Shallow Understanding Of Subject Matter To Defraud People Into Reading Their Articles

</comment><comment><USER62> Oh, come on.

I doubt it's all that sophisticated.

</comment><comment><USER63> One good way to make sure the fare matches the distance would be to install some sort of device that measures mileage. The driver could start the device when the ride starts and turn it off when it's over. It could even calculate and display the fare for both parties!

Of course that kind of transparency wouldn't be possible unless all the vehicles had the device. So you'd probably need a licensing system for them. Which in turn could be overseen by a commission made up of industry reps and local government officials to ensure fairness and local control.

Wild ideas man, wild ideas.

<comment><USER64> Ha ha ha.

Half the problem is that drivers _are_ being paid based on exactly such a device.

And your second paragraph is just a series of non-sequiturs. You're stretching too hard to make the cute analogy. Measuring doesn't imply that all vehicles need it. Nor does that in turn imply the need for a licensing system.

<comment><USER63> I was making leaps because everyone sees it coming and it's boring. No need to make it longer.

I don't think analogy is the word you're looking for.

<comment><USER64> I couldn't think of a better one in less than a minute. Do you have word suggestion? It's pretty close to an analogy, as a hypothetical mirror from one part of reality onto another.

<comment><USER63> Hmm no, now that you mention it. The technique probably has a name, but if it does, I don't know it. That's going to bother me now. Basically just describing existing commonplace conditions (the taxi industry) as if it were some crazy new idea, for ironic effect.</comment></comment></comment></comment></comment>


How "I don't know" can make you an authority in your industry - <AUTHOR> http://blog.bufferapp.com/i-dont-know-authority-in-your-industry?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+bufferapp+%28Updates+and+tips+from+Buffer%29

<comment><USER2> Great link.

There are always going to be more things in the world that you don't know than you do know. It's a good idea to get better at handling those situations.

If I could be _exceptionally great_ at 3 things, "responding in a situation where I don't know the answer" would be one of them.</comment>


Ask HN: What Is HN Learning? - <AUTHOR>

What new things (technology related) are you learning (of choice)?<p>I am personally learning naught right now. <comment><USER2> nginx - uwsqi - postgresql (again, for all three)

> I am personally learning naught right now.

Naught - is that a language or a library?

<comment><AUTHOR> Nah, it means 'nothing'. :-( But I am looking to learn React + Flux. I am a frontend noob, mostly because the spider web of JS and CSS code (plus the tens of JS frameworks to choose from) ultimately drives me nuts. But, React and Flux seem to be less spider-web-y and appeal to a backend developer like me.</comment></comment>


Twitter users most followed by readers of Hacker News - <AUTHOR> http://jmillerinc.com/2010/07/28/twitter-users-most-followed-by-readers-of-hacker-news/

<comment><USER2> It would be more interesting to take HN interest divided by follower count.

If 100 HNers follow someone with 100,000 followers, that's sort of interesting. If someone has 100 followers, and 80 of them are HNers, that's more significant.

</comment><comment><USER3> _"... One of the best ways to find interesting people to follow on Twitter is to look and see who other smart people are already following ..."_

There's could be a scientific explanation for this. It's been noted in fish, crustacean populations that behaviour is influenced by the predators. [0] Random choice appears to be non-optimal making decisions.

Following other HN twitter users might seen as a more optimal way to select ideas/technology worth exploring or avoiding _"dangerous"_ time wasters.

[0] _"Behavioural response of Crayfish to a fish predator"_ , Stein, Magnuson ~ <http://www.jstor.org/pss/1936188>

<comment><USER3> There has also a lot of studies looking at this problem in Fish & Birds ~ [http://scholar.google.com/scholar?q=mate%20choice%20copying&...](http://scholar.google.com/scholar?q=mate%20choice%20copying&oe=utf-8&rls=org.mozilla:en- US:official&client=firefox-a&um=1&ie=UTF-8&sa=N&hl=en&tab=ws)

But the most interesting is how Women hunt in packs ~ [http://www.psychologytoday.com/blog/evolved- primate/201006/c...](http://www.psychologytoday.com/blog/evolved- primate/201006/copying-others-when-choosing-mate) and more interesting how Men adapt to this.

</comment></comment><comment><USER4> I've got 359 Twitter users from Hacker News profiles on this Twitter list: <http://twitter.com/tlrobinson/hackernews>

We should compile the union of our two lists.

<comment><AUTHOR> Sure, I'll email it to you.

</comment></comment><comment><USER5> Great list! I made it into a list on Twitter:

<http://twitter.com/DHS/hacker-news>

</comment><comment><USER6> Interesting. I assume you did this when you were writing the code to attach people's twitter names to the @newsyc20 tweets of their submissions. I noticed that this morning and thought it was clever.

</comment><comment><USER7> Very interesting. The top 10 are pretty expected, but the rest are more meaty. Great to see @dcurtis at #11 and @yegg at #32.

Wouldn't have expected @garyvee to be big with the HN crowd.

Definitely some people in the bottom half of the top 100 I would have expected to rank higher.

</comment><comment><USER8> Strange, I'm on HN and Twitter daily and still don't recognize half the list.

</comment><comment><USER9> You should probably re-run your script to catch all the people who added their twitter handle to their HN bios today as a result of your list :). Or even run it on a cron so we can see it change over time?

</comment><comment><USER10> I'm both amused that I follow probably more than half of the that list, and saddened by the fact there is only one woman on the list.

<comment><USER9> I am also saddened that there is only one woman in the list. If you're interested in following more women in tech on twitter, mashable published this list today: [http://mashable.com/2010/07/28/developer-hacker-women- twitte...](http://mashable.com/2010/07/28/developer-hacker-women-twitter/)

<comment><USER11> What is so sad about it? Are you also saddened by the fact that are few blacks/hispanics/[ethnic]?

<comment><USER12> Well I suppose it's not quite as necessary evolutionarily to socialize with "blacks/hispanics/[ethnic]" as it is with women.

</comment></comment></comment></comment><comment><USER13> I don't think 300 people is enough. I'll add my twitter handle to my profile. I wasn't following anyone in the first 20!

</comment><comment><USER14> I just double-checked my profile page, and there is no blank for a Twitter account. How did you scrub the profile field to detect such accounts? (Mine's the same username between HN, Twitter, and Reddit, among others.)

<comment><AUTHOR> I just made a bunch of regular expressions that capture phrases like "<http://twitter.com/foobar> or "I'm @foobar on twitter", etc.

<comment><USER15> Did you include <https://twitter.com>?

<comment><AUTHOR> Yes, you're in the db. :)

<comment><USER15> Hehe. You would be surprised (or maybe not) with the number of Chrome extension developers that don't consider https.

</comment></comment></comment></comment></comment><comment><USER16> \--It would be cool to track over time.

\--It would be cool to list which ones are on HN and put their username on there.

\--Would you list the whole set of usernames/twitter accounts?

</comment><comment><USER17> Would be interesting to see an app that took a twitter list, sent a tweet out to those in it to authenticate with the service, and from there create 3 additional feeds based on "retweets_of_me" "retweeted_by_me" and "retweeted_to_me" -- the idea would be to concentrate the best tweets in one place regarding a set of twitter users.

edit: can also look for common favorites - like <http://favstar.fm>

</comment><comment><USER18> I've got like 20 new follows by being on that list, even if near the bottom. Those at the top have probably changed even more.

So by observing this phenomena, you have changed it.

<comment><USER19> Pedantic: not by observing, but by publishing on the Internet.

<comment><USER20> Publicly observing?

</comment></comment></comment><comment><USER21> Observation: There is exactly 1 woman on that entire list. #52.

</comment><comment><USER22> I just followed several people on that list that i wasn't previously. A great list - thanks for putting it together!

</comment><comment><USER23> So what if the functionality is the same? It's the community and the khutzba that differentiates.

</comment><comment><USER24> @shitmydadsays is way better than anything i tweet out</comment>


Stop wasting billions of dollars using the wrong software languages - <AUTHOR> http://venturebeat.com/2013/10/11/stop-wasting-billions-of-dollars-using-the-wrong-software-languages/

<comment><USER2> I very much enjoy coding in Haskell, and would definitely say that it changes the way I think about code. In particular, it's taught me that strong static typing, no null references, and avoiding side-effects wherever possible are all great things and IMO, those who don't use these are doing themselves a disservice most of the time. I also think that type classes are an excellent way to handle polymorphism, really quite beautiful. Immutable data is also (in many cases) a great thing. And the syntax is gorgeous.

However, I hate articles like this; they really don't help their cause, they sound driven as much by ideology as anything else, and in this case, there's even a financial motivation. It plays into the stereotype that Haskellers tend to find their language superior to any other, almost by definition. For example, many the benefits that the article touts would also be found in dialects of ML, or in Scala. However, many Haskellers I've talked to poo-poo these other languages because "they're not pure," or some other vague criticism. I don't mean to generalize, of course; many Haskellers probably embrace other languages as well, but it's certainly not uncommon.

Furthermore, Haskell is not at all without its warts: aside from its steep learning curve, it has package management issues and spotty documentation. Moreover because of its bizarre IO system (which mostly seems to exist for academic reasons, not for any practical purpose -- there are other, easier ways to disallow IO outside of sanctioned functions), it demands the use of Monads everywhere, and generally insists on a particular style which can be very restrictive. Last but certainly not least, its default laziness (once again, done mostly for academic reasons) can lead to bizarre performance issues, bugs which are hard to debug. The amount of hoops to be jumped through to accommodate laziness in Haskell is significant, to say the least.

Haskell has a number of great things in it. Functional programming on the whole is a blast to write and leads to very stable, readable code. But Haskell is far from the only answer. That said, it is a lot of fun to write, and its recent upswing in popularity is a very good thing, IMO, aside from the often pretentiousness of its users. At the least, it's raising the profile of functional languages in general, and opening the door for new languages which take the good parts from Haskell and leave behind the not-so-good.

<comment><USER3> >It plays into the stereotype that Haskellers tend to find their language superior to any other

So does everyone else. Ruby users don't advocate for ruby because they think ruby sucks. Replace ruby with any other language and the statement holds true.

>it has package management issues

No more so than other languages.

>Moreover because of its bizarre IO system (which mostly seems to exist for academic reasons, not for any practical purpose

What on earth are you talking about? Why is it that everyone I see posting "I totally like haskell but..." on HN displays a very basic ignorance of haskell? What is bizarre about the "IO system" in haskell? The fact that IO actions have a type? That is entirely for practical purposes.

>it demands the use of Monads everywhere

It most certainly does not. People use monads frequently because they are incredibly useful. You do not need to know what a monad is or how it works to use one.

>Last but certainly not least, its default laziness (once again, done mostly for academic reasons) can lead to bizarre performance issues, bugs which are hard to debug

The only criticism in your list that is actually loosely based on reality, and you still managed to get pretty far off-base. Haskell is not lazy for "academic reasons" (what does that even mean? Do you think they hand out phds for making a language "acadamic-y" enough or something?). Laziness was a choice, just as strictness is. It has pros and cons, just as strictness does. Being unfamiliar with laziness does not make laziness bad. For 90% of code, it doesn't matter. For 10%, you want to ensure strict or lazy evaluation. Regardless of which one is the default in your language, you want the other to be an easy to use option. This is the case in haskell.

>The amount of hoops to be jumped through to accommodate laziness in Haskell is significant, to say the least.

I have ~100k lines of haskell code in production. I have never even thought about having to "accommodate" laziness in any of that code. I have exploited laziness in a couple of spots as a free optimization, but otherwise it didn't even come up.

<comment><USER2> I'm not a big fan of condescension and being spoken to like a half-wit. I'm sure you're much smarter than me. You've certainly demonstrated all of my favorite characteristics of Haskellers. Like I said, I love Haskell, have written a good amount of it, and am excited to keep learning more. Unfortunately, one of the big downsides of Haskell is having to learn it from people like you.

<comment><USER3> I was not condescending nor did I speak to you like a half-wit. Unfortunately it is quite difficult to call someone out on making statements that demonstrate ignorance without causing offense. Haskell has many problems, but the things you listed are misconceptions and misunderstands spread around by people who have heard about haskell but not used it. I'd certainly like it if you are able to be more specific about what you think the "weird IO system" problem is.

<comment><USER4> In some sense, it is condescending to insist that you were not. You may be certain that was not your intent, but you can't really know how your words come across.

</comment></comment></comment></comment></comment><comment><USER5> Is this a news article or an advertisement for this guy's commercial Haskell tools? I'm having trouble figuring it out.

<comment><USER6> I'm wondering if his web IDE is made in haskell

<comment><USER3> It is.

</comment></comment></comment><comment><USER7> Unfortunately many companies let themselves be led into a complex mess by so- called "rockstar" developers who usually are just people who have mastered a particular language and its libraries, and perhaps one common framework in that language. This allows them to churn out masses of poorly written code and bamboozle management into thinking that they are 10X productive. They are like the sales guy who makes some big sales, collects his commission checks, and then leaves the company before everyone finds out that the product was not suitable for that customer, and the contracts are cancelled. Then, working for another company, he does the same thing again. Some companies now withold part of their commission payments for a period of time to be sure that the product was sold correctly, that it gets delivered to the customer properly, and that the customer begins using it and gaining some value from the product.

However, in software, we let rockstars create a big mess, and then over the next few years we spend many man-years of effort into maintaining that software, fixing bugs, attempting to shoehorn new features into a system that is rigid, inflexible and even fragile. This is what rockstars bring us, momentary euphoria until the concert is over and we are stuck in a traffic jam trying to get home. This is not scalable and not sustainable. If you see a job ad that asks for rockstars, run away. Their management are fools and they are busing building a complex mess that will destroy their business.

</comment><comment><USER8> Stop telling me what to do.

This is like telling Chefs they should not use pointed and sharp knives as they are dangerous in the wrong hands.

We use Haskell when we need it. Useful for some works, totally inappropriate for others.

<comment><USER3> >This is like telling Chefs they should not use pointed and sharp knives as they are dangerous in the wrong hands.

How is it like that at all? It is telling people to use a tool that does the job better. If you don't believe the tool is better then that is certainly a debate you could start. But making bad analogies doesn't seem to be a good way to do that.

<comment><USER9> What it's like is telling everybody who does any cutting at all that they're doing it wrong because they're not using a sawzall. You are wasting time, and your clients money, by doing your cutting any other way!

But I'm a sushi chef. And my friend here is a child working on a cutting-and- sticking project.

 _Never mind that! The sawzall would cut 90% quicker and the blade would last five times longer!_

This argument is not going to end well.

<comment><USER3> No, it isn't like that. At all. It isn't even remotely close. Making bad analogies is not productive. It is like someone saying "haskell is safer than python, but just as productive, you should give it a try". So lets discuss that, instead of bizarre kitchen powertool fantasies.

</comment></comment></comment></comment><comment><USER10> Can someone address the actual usefulness/fit of Haskell as a general purpose programming language for development of complex systems?

Most of my career (roughly 30 years), I've been a Unix server-side engineer, writing code in C and C++ with a smattering of Java every now and then. With my latest job, I've picked up Ruby, Javascript (including Node.js) and Go. Of the three, I tend to prefer Ruby for small utility code and Go for serious server code.

In addition to the relatively clean syntax of these languages (and Go's awesome concurrency paradigm), one of the things I really like about the modern crop of languages is the library and 3rd-party support. Need to talk to mysql? There's a gem/package/module for that. Redis? Same. Pubnub? Same. Stuff like http is baked into the standard libraries. Need to implement a high- performance logging subsystem with file rotation based on age or size? These languages all provide library access to the necessary OS fundamentals to do that. In short, I haven't found very many problems that I could solve in C++ that I can't in Ruby or Go (or probably in Node). And with a lot less effort and (at least in Go or Node) at close to the same performance.

I hear the whole "functional programming is better" pitch, and I have very limited knowledge/experience in that area. What negatives does a paradigm shift from "imperative" to "functional" programming introduce? Are there some classes of problems that _aren 't_ appropriate for a language like Haskell? Are there real-world examples of high-traffic services where the entire backend is built in Haskell?

<comment><USER3> Most of what you describe applies to haskell just as it does to everything else. It is a general purpose programming language. If you want to see what packages are available look here: [http://hackage.haskell.org/](http://hackage.haskell.org/) Yes, simple http support is in the standard library, more full featured http libs are on hackage.

As for the functional programming question: I haven't found any negatives. I went from imperative programming to ocaml specifically because I thought the whole functional programming thing was just hype and wouldn't really be suitable for everything, so I wanted to be able to fall back on imperative and OO styles as needed. After a few years of never needing to fall back, I decided to take a closer look at haskell.

The places haskell isn't ideal are basically the same as other high level languages. If you are doing bit twiddling or need precise control over how data is laid out in memory, you pretty much want C. I also still use shell scripts for little sysadmin stuff. Other than that I pretty much do everything in haskell now: web development, random utilities that are bigger than I want a shell script to be, network services, etc.

</comment></comment><comment><USER11> The idea that Python is a low-level language and that this is why software costs money to maintain is stupid. There isn't a better word to describe this. It's just stupid nonsense.

</comment><comment><USER12> Just another functional programming will be bug free and wash your car article.

</comment><comment><AUTHOR> Any professional programmers care to weigh in here? I have always been under the impression that, while Haskell/Scala/insert super awesome programming language may be the "best" language, you should really be using the right tool for the job, which should mean different languages for different tasks. All of this assumes an equal supply of talented programmers for every language, by the way, something that I am aware is far from true.

<comment><USER7> The article DOES recommend using different languages for different tasks. A large part of it was about Ruby and Python shops that added Haskell to their toolbox in order to clean up overly complex parts of their codebase.

As far as the supply of programmers is concerned, if a software developer is TRULY talented, then they will be able to learn a new language in a couple of days, and learn a new paradigm (such as functional programming) in a couple of weeks. I say this as a person who has moved from imperative programming to object-oriented programming to functional programming over my career. And I have used so many languages that I have difficulty even enumerating all of them. They range from machine language, to various assembly languages to FORTRAN, COBOL, C, Visual BASIC, Java, Python, Ruby, Scala. The hard part of programming is not the coding. It is the DESIGNING. If you do the design part well, then the code flows from your fingers naturally, and you end up doing very little debugging, especially if you practice TDD which forces you to debug problems within 15 minutes of creating them.

<comment><USER13> Well, I don't know about a couple of days for learning a new language, but I agree with the sentiment. Learning a new language is more than figuring out the syntax for a loop. It's the library(s) that takes time.

</comment></comment></comment><comment><USER14> this article is terrible. simultaneously self-promotional garbage for the author AND "cult of Haskell" magical thinking.

</comment><comment><USER15> If the advantages of using Haskell (or any other language) are so clear cut, wouldn't the market automatically switch to Haskell?

Clearly the fact that the most of software is not written in Haskell shows that Haskell is not the silver bullet for all software development as this article and other FP pundits claim it to be.

<comment><USER16> _If the advantages of using Haskell (or any other language) are so clear cut, wouldn 't the market automatically switch to Haskell?_

That's a specious argument, you're assuming that "the market" is infallible, which is far from evident. I'm not going to say that Haskell is great for all or even half of all applications out there, but market acceptance is not a valid argument against it.</comment></comment>


The Rise of Worse Is Better (1991) - <AUTHOR> http://dreamsongs.com/RiseOfWorseIsBetter.html <comment><USER2> To bring another example of worse is better, regarding how C's industry adoption caused a regression in compiler optimizations research.

"Oh, it was quite a while ago. I kind of stopped when C came out. That was a big blow. We were making so much good progress on optimizations and transformations. We were getting rid of just one nice problem after another. When C came out, at one of the SIGPLAN compiler conferences, there was a debate between Steve Johnson from Bell Labs, who was supporting C, and one of our people, Bill Harrison, who was working on a project that I had at that time supporting automatic optimization...The nubbin of the debate was Steve's defense of not having to build optimizers anymore because the programmer would take care of it. That it was really a programmer's issue....

Seibel: Do you think C is a reasonable language if they had restricted its use to operating-system kernels?

Allen: Oh, yeah. That would have been fine. And, in fact, you need to have something like that, something where experts can really fine-tune without big bottlenecks because those are key problems to solve. By 1960, we had a long list of amazing languages: Lisp, APL, Fortran, COBOL, Algol 60. These are higher-level than C. We have seriously regressed, since C developed. C has destroyed our ability to advance the state of the art in automatic optimization, automatic parallelization, automatic mapping of a high-level language to the machine. This is one of the reasons compilers are ... basically not taught much anymore in the colleges and universities."

\-- Fran Allen interview, Excerpted from: Peter Seibel. Coders at Work: Reflections on the Craft of Programming

<comment><USER3> I'm not sure the usage of C for apps is an example of worse is better so much as network effects. It's easier to write apps in the same language as the OS.

<comment><USER4> In addition, C progressed because it was _free_.

People forget that compilers in the 1980's were expensive.

If you wanted something compiled other than assembly language, your choices were C (1987--gcc could generally bootstrap) and Pascal (1984--mostly TurboPascal) and ... nothing.

Look at what was sitting in Dr Dobbs Journal in the 1980's. People were typing in enormous programs in BASIC(!) in order to play with things like LISP and Prolog. Not a recipe for adoption ...

I remember getting stuck using some Macintosh Lisp thing in 1986/1987--I pined for my OS9 machine and C and the dulcet (not!) grind of it's floppy drive. That says something.

<comment><USER2> C was not not free at all.

Small-C was probably the only dialect freely available, everything else was either commercial, or came for "free" with an UNIX workstation price tag.

In fact, it was due to Solaris change of heart regarding developers, that some devs started to contribute to GCC.

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

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

I have a few editions of Dr Dobbs Journal comparing C compilers, all commercial, GCC was yet to be relevant.

<comment><USER4> Okay, maybe C isn't _free_ at the time, but you can get it for anywhere between $50-100 1985 dollars--that qualifies as fairly cheap--especially for the kinds of technically competent individuals who would buy such a thing.

So, what "better" language could you get for that price at that time?

<comment><USER2> Actually without bothering to go again diving into old magazines, it was more like $150 or more, with student discount.

Pascal compilers like Turbo Pascal, for example.

<comment><USER5> Aztec C[0], by Manx, cost about $200 USD in 1988. It came with a "complete" dev environment for PC-DOS (the version I have) which included:

\- C compiler

\- Assembler

\- Linker

\- Make

\- Grep

\- Z (an editor kinda like vi IIRC)

I remember it being able to make very small executables, which meant a lot at that time.

0 - [https://archive.org/details/bitsavers_manxAztecClApr88_25693...](https://archive.org/details/bitsavers_manxAztecClApr88_25693545)

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> I wonder if "Worse is Better" simply wins because developers experience failure at every part of the process "for free," as the common case. You design a crappy API, test it, hack around it, ship it, debug it, criticize it, design something better, deprecate it, and continue through another iteration of the entire dev process.

Meanwhile the other school is trying to design an elegant and complete API, but the elegance and completeness cannot leverage a full iteration of real tests, hacks, release, real-world debugging, real-world criticism from arbitrary devs/users, plus all the pressure to design something better so the awful idea can be deprecated and forgotten before it brings the whole project to its knees.

<comment><USER7> worse does win.

but I dont get why a well designed api cant go through the same kind of real world feedback that you describe. are you implying without saying that the good version just never makes it out into the world since its being perpetually polished?

<comment><USER6> Here's some rank speculation after reading the first few weeks of the w3c svg group archive:

A well designed api typically arrives at the dev cycle _from somewhere else_. This causes longer iterations in the dev cycle because new devs have to contend with two sources of truth-- the dev cycle itself and whatever unreachable realm used unreachable arguments to bring the well designed api into existence.

So you get these weird situations where certain topics are in scope, but others are out of scope because they were decided in the unreachable realm. For example, a discussion about using CSS for SVG shape attributes (fill, stroke, etc.) gets cut short because the unreachable realm already decided that they don't want to have to "parse twice" in order to get at the CSS data.

Oops, now modern browsers have CSS props, SVG presentation attributes with corresponding CSS props with the same name that override them, _and_ other SVG attributes which don't have corresponding CSS props. _Except they do in the SVG 2.0 spec_.

And now you're stuck because you've got this wonderful new(ish) (actually well-designed) API for web animation but it's unclear how to treat SVGs because of the ambiguity among the above categories. Chromium seems to already be doing things the SVG2 way while last I checked Mozilla still uses SVG1.1 and had prefixes for the svg presentation attys (perhaps behind a feature flag, can't remember).

Slowwww...

Compare that to just deciding early on to put _all_ attys that could conceivably be related to "presentation" in CSS.

But that's hard to argue when the counter-argument is that the issue was already considered in an unreachable realm in a process that isn't available for inspection.

I also read threads where both SVG path syntax and the awful path arc command parameters could have been improved if the unreachable realm hadn't existed.

On the other hand, devs who write self-described "crappy apis" (or some such self-deprecating business) don't typically have an unreachable realm. Or if they do, their self-deprecation makes it clear that it rarely if ever trumps the open realm.

So my idea is that a single iteration through crappy api-land is faster because there's only one source of truth leading to greater clarity and a greater incentive to participation at any level.

</comment></comment></comment><comment><USER8> One of the best product post-mortems that I've seen is the RethinkDB post from Slava:

[http://www.defmacro.org/2017/01/18/why-rethinkdb- failed.html](http://www.defmacro.org/2017/01/18/why-rethinkdb-failed.html)

He does a great job describing how the "worse is better" essay plays out in the modern world, and how it played out for them in the OSS DB market.

<comment><USER9> Previous HN discussion: [https://news.ycombinator.com/item?id=13421608](https://news.ycombinator.com/item?id=13421608)

</comment></comment><comment><USER10> I also highly recommend Yossi Kreinin's "What _Worse is Better vs The Right Thing_ is really about" ([https://yosefk.com/blog/what-worse-is-better-vs-the- right-th...](https://yosefk.com/blog/what-worse-is-better-vs-the-right-thing- is-really-about.html))

> Some view [markets and competition] as mostly good and others as mostly > evil. This is loosely aligned with the "right" and the "left" [...] I will > try to show that the disagreement about markets is at the core of the > conflict presented in the classic essay, _The Rise of Worse is Better_ [...] > and not the trade-off between design simplicity and other considerations as > the essay states. So the essay says one thing, and I'll show you it really > says something else. Seriously, I will.

</comment><comment><USER11> Modern examples include JavaScript and the web as an application platform.

While the arguments here have some validity, I think a more important reason for the triumph of worse-is-better is human cognitive overhead. The correct solution being more complex requires more cognitive overhead to support, maintain, port, and implement when new implementations are needed.

Yet another reason is probably political. Correct solutions are harder to develop, so they are often developed by commercial entities and subject to restrictive licenses. Free software has less resources, so tends toward the New Jersey approach. It's hard to compete with free.

<comment><USER12> Yeah I'd argue that a prime example of "worse is better" is JavaScript and APIs like document.write("<p>..."). [1]

In other words, starting out with a browser that can render HTML and CSS, and then adding an API like document.write() is a huge hack.

Exposing the entire rendering engine with a textual interface is hacky. For one, the lack of escaping makes security bugs the default (somewhat fixed with template strings in ES6). It's also really hard to reason about performance, because you don't know when layout changes are triggered and so forth.

The whole "virtual DOM" thing is an example of fixing the flaws in this API.

But on the other hand, it's sort of "simple" in that you don't have to learn as much to use it, and it gives you the POSSIBILITY of doing everything dynamically.

[1] NOTE: There are 2 distinct points in the essay. One is that "It is better to get half of the right thing available so that it spreads like a virus." That is, ship first, and then evolve the software.

The other is whether you should expose the implementation details of the underlying platform, or if you should wrap it up in a "nice" interface. JavaScript does the former.

Also, neither of these points is "crappy software wins", which the title seems to imply. It's more subtle than that.

<comment><USER13> JavaScript was designed in 10 days in 1995 to get _something_ out ASAP. It was simple and hacky and it spread like a virus in the following 23 years, covering almost every niche of programming.

It is only now getting such (basic) language features as variables and constants being lexically scoped by default, a generic flow control primitive (async/await + exceptions which is almost, but not quite, as powerful as call/cc), as well as useful features such as multiline/template strings, proper classes, symbols, a shorter lambda syntax, and dedicated hashmap/set containers.

JavaScript is the quintessential example of why Worse is Better.

PS: even though CSS was first proposed in 1994, the availability of JavaScript and document.write() in browsers, as well as its use on the web predate the adoption of CSS by several years.

</comment></comment></comment><comment><USER14> This is one of the most human insightful pieces to ever be written and is timeless in its applicability. It is not just about languages and computer science, but about understanding adoption in a digital world. We can all apply it to our products as much as our technology

</comment><comment><USER15> It's mentioned at the top of the linked page, but just to highlight it, this is only an excerpt from the longer piece "Lisp: Good News, Bad News, How to Win Big" which was written in 1991 and talks at length about the then-current state of the Lisp world and its future. The full article is well worth a read: [https://dreamsongs.com/WIB.html](https://dreamsongs.com/WIB.html)

<comment><USER16> > The full article is well worth a read: > [https://dreamsongs.com/WIB.html](https://dreamsongs.com/WIB.html)

Agreed. It's notable (among _many_ other things) for its comment in 3.1, 'Scheme is a smaller Lisp, but it also suffers from the MIT approach. It is too tight and not appropriate for large-scale software.' I'm always a bit saddened when I see a production system written in Scheme instead of Lisp.

His thoughts in 3.6 are very interesting, too. From his thoughts on method definitions, it sounds like maybe he wanted a language-specified dynamic editing environment. Either way, it's sad that the Lisp world never came out with a proper successor to Common Lisp. It's by far the best general-purpose language out there today, but it is not the best possible.

</comment></comment><comment><USER17> That's from the late 1970s or the early 1980s.

The modern version is the shift from "shut up until you can demo" to "market, then build".

</comment><comment><USER18> To give a recent example, compared to Borg, Mesos exemplifies "worse is better" approach. [https://muratbuffalo.blogspot.com/2017/02/mesos-platform- for...](https://muratbuffalo.blogspot.com/2017/02/mesos-platform-for-fine- grained.html)

What are other recent examples you can think of?

<comment><USER19> I think Go is a pretty good example of Worse is Better. Go's designers preferred simplicity over correctness. (some copying and pasting here and there is better than introducing the complexity of generics).

(This is without negative sentiment, I use Go for some work.)

<comment><USER3> How does Go lack correctness?

<comment><USER19> Some examples:

\- You can accidentally implement an interface.

\- Lack of a proper ownership model can lead to unexpected results, which leads to bugs. Consider e.g. growing of slices:

[https://play.golang.org/p/3qfd5B8_ktK](https://play.golang.org/p/3qfd5B8_ktK)

\- nil is not equal to nil:

[https://golang.org/doc/faq#nil_error](https://golang.org/doc/faq#nil_error)

(Obviously, it is is easy to move the goalposts without a proper definition of 'correctness' ;).)

<comment><USER20> I think correctness is the wrong word. Maybe safety would be better? (Verboseness? Precision?)

Go is quite a stable language. Well-specified, rigorously tested, and conservatively updated.

I think all the behavior you listed is well-defined, albeit perhaps unexpected.

Lack of generics doesn't make code incorrect. Less clear maybe, or easier to make a mistake. Or clearer and a lot more code.

I guess you could argue that it makes writing correct code harder?

</comment></comment></comment></comment></comment><comment><USER21> See also Gabriel's (Nickieben Bourbaki is an anagram) rebuttal of his own paper: Worse is Better is Worse ([http://dreamsongs.com/Files/worse-is- worse.pdf](http://dreamsongs.com/Files/worse-is-worse.pdf)).

<comment><USER22> Or realising that "perfect is the enemy of good" is an adage for a reason ...

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

</comment></comment><comment><USER23> I was just thinking about this, comparing the Uber (worse) vs Waymo/Google (Better) approaches to self-driving cars.

</comment><comment><USER24> I wonder how much impact the availability of libraries makes, compared to the elegance of the design?</comment>