Ask HN: Coping when your client is an asshole? - <AUTHOR> I'm a project manager for a ~60 person software dev firm. One project I'm on is with a large American enterprise, and the product owner and his direct manager are absolute assholes.
I've got 8 developers that I try to shield from accusatory questions and extremely aggressive and borderline abusive behaviour. In the beginning we we all agreed not to take anything personally and to let it just roll off the back. We agreed to tighten up our processes and try to avoid confrontations by being super proactive with all our work, but we're coming close to the launch date, and it's getting worse as more pressure mounts.
Ordinarily, we would have dropped the client by now and refused to put up with the end-justifies-the-means tactics, but unfortunately our company could not survive without this and a handful of other projects we have with this client.
My company is actively looking for new clients so we are not beholden to this one, and my manager is apologetic and tries to run interference when she can, but I'm largely left to my own devices. This is a very high profile project that stands to disrupt its market. It's exciting for them and us. I have to maintain this relationship somehow.
How do you manage your clients who are completely unreasonable, rude, and treat you and your staff extremely poorly? <comment><USER2> Firstly how are they assholes. Some people will smile and nod and gather evidence to get you fired.

Some will scream and yell all the time but when push comes to shove will act honorably and go to bat for you.

Others are just looking to pin as much stuff on you in order to the cya game.

Also figure out why they're assholes if possible. The solutions are very different if they're assholes because they're boss is an assholes (asshole by proxy). If they're assholes because they just care a lot about the project and are worried/anxious (asshole by circumstance). Or if they're just always an asshole (asshole by nature).

General advice though is document everything, dot every i, and cross every t because shit tends to go sideways when assholes are involved and you don't want to be the one to get screwed.

<comment><USER3> Hey, I love your asshole matrix! Should be taught at some kind of dark MBA school.

<comment><USER4> > Should be taught at some kind of dark MBA school.

Isn't that the bulk of them?

</comment></comment></comment><comment><USER5> There's literally a whole book by a Stanford biz school professor about this exact subject.

One of my pet favorite tips: pretend you're a research psychologist observing a patient with a rare mental disorder (doesn't solve all of the problems, but at least helps to cope).

[https://www.amazon.com/Asshole-Survival-Guide-People- Treat/d...](https://www.amazon.com/Asshole-Survival-Guide-People- Treat/dp/1328695913)

<comment><USER6> My partner works in a total cluster fuck of an office with some horrible people (she won't quit without another job even though I offered to cover her while she finds work) so I told her to treat her office like she was David Attenborough narrating a documentary.

"And here we find the Donna in its natural habitat, scientists where surprised to discover the Donna can eat its own weight in fried chicken every week" that kind of thing.

If she's have a bad week I send her narration to make her laugh.

It sucks watching someone you care about get ground down though.

<comment><USER7> Consider helping accelerate your partner's job search. No one deserves a toxic job.

</comment></comment></comment><comment><USER8> This probably isn't the immediate answer you're looking for, but I've found a lot of value in a book called Never Split the Difference by Chris Voss (no affiliation, just loved the book.) It provides practical guidance on the subject of negotiation. However, in reading it you'll find that a lot of these rules of negotiation apply to broader aspects of life. The author, Voss, was a former negotiator for the FBI and was involved in a number of high profile hostage negotiations. (You can't be much more of an asshole than a kidnapper!)

Anyway, he says you can look at most situations as a negotiation. Once you fully understand the needs of your counterpart, you can assess your ability to meet those needs, or work with them (using "tactical empathy" and other strategies) so that both parties understand what the realistic outcomes are. Once both parties truly understand what the other is ultimately capable of providing, they will see no use in demanding more than that.

<comment><USER9> I'm suffering serious Frequency illusion with Chris Voss - I feel like his stuff is popping up everywhere around me (ended up watching two videos yesterday).

I find myself actively fighting the impulse to read the book. I can't decide if I'm a savvy, advertising-aware consumer; or maybe I'm just another sucker.

<comment><USER10> Research shows that advertising works even better on "smart and advertising savvy" consumers. So, probably both, just like me :)

Can't source the research but I did skim an article at some point.

</comment></comment></comment><comment><USER11> I've been consulting for over twenty years at this point, and I've had my share of toxic clients (including one who actually sued me and was surprised when the judge wasn't amused by his suggestion I work for free either). You didn't say where you're from, where _they 're_ from (besides America), or what vertical you're working in, or what do you mean by "the end-justifies-the- means tactics" so I can only give the most general of advice here:

My experience is there are few VP who can stand up a project with an outsourcing firm without some risk of their own (either in their review, or in an extreme case: their career).

If that abuse is coming from people who report to your stakeholder, or from other people in the firm, a quick chat _with_ the stakeholder would probably smooth things over. You might either find that obvious, or believe that it doesn't apply if you're getting abuse from multiple places, but it's not their money, just their job, so if you're not making your abusers' job harder in some way, your stakeholder will be in the best position to do something about personnel issues.

However if that abuse is coming from your stakeholder, you need to realise it's because _they_ are receiving pressure, and you would do well to understand it because you might be able to help him/her with what they really need. Your stakeholder's job is to operate a P&L including your project against some revenue, or produce powerpoint slides for someone who does that job. Do those reports suggest this project is costing more than anyone expected? Try to attack the real problem here: Give your stakeholder some justification to go after the money, or to respond to the delay. This is what they really need.

<comment><USER12> > However if that abuse is coming from your stakeholder, you need to realise > it's because they are receiving pressure

Some abusive people just believe that this is what makes them tough and effective. Has nothing to do with someone else pressuring them.

I used to give benefit of the doubt in these situations and think it is external, until I seen with such managers up close and it turned out it was them and only them begin source of their own assholery. The external parties were just enabling.

<comment><USER13> I'm going to second this. I've seen on more then one occasion that some people believe it's their job to do this on order to be most effective. I literally had PM tell me (as head of engineering) that they thought it was there job to set unrealistic expectations and adversarial environment in the hopes that it created an environment where the engineers worked longer.

I'm reality it creates a hostile work environment where burnout is high, morale is low, and projects take even longer to finish. It sacrifices all long term gains for short term results.

</comment></comment></comment><comment><USER14> Maybe exercise the company expense card and start having dinners / drinks with these folks. They might be less assholish if you wine and dine them a little. Normally, I would say fire them but from the sounds of it you are too far gone. Drinks, breaking bread, and having a few laughs might smooth things over. At the very lease you can eat out at some fancy places and tell the folks at work you are smoothing things over. This could be tough if you hate them though.

<comment><USER15> Sounds like a good idea

Another one is, depending on how their team is behaving w.r.t. your team, start pushing some responsibility back

Were they delayed when they shouldn't have been? Is it something on their side that's causing issues?

This needs to be done with some care, but it works. Though your suggestion sounds good and could be used in combination.

</comment></comment><comment><USER16> My take on this is, often a problem is not itself: the symptom your client displays has a foundational problem elsewhere, which causes them to behave like this not only towards you but probably with most other people. So first, you need to be aware that it is not you, it is them and let them know it indirectly. How?

I read a great advice once that if you "dont react, you will not overreact". The flood gates of pent up emotion will cause severe problems for your business which will lead to outcomes unexpected even by you, and your team.

But suppressing negative emotions are proven to cause psychosomatic diseases, which is a boring way to say all this suppressed anger will kill you. What to do?

The problem begins to become a problem when you value the emotion more than it is worth. If you think this is making me angry, emotionally you will easily slide into feeling much more anger than is actually warranted. The reason for this is because our built up stresses want a release point, and when you feel angry, those release paths become known to your anger.

First, exercise in the morning, intense, fun like basketball and your team, so as to prevent daily stresses to seek release paths.

Then when the client starts to get on your nerves, your nerves will handle the client without becoming frazzled or excited. This calm will unnerve your client, and cause them to feel the futility of behaving like that towards you.

If it does not make you angry, they will not be likely to behave aggressively because they could wonder: they are so calm! But this would also make them behave even more aggressively sometimes. However, this will all come to an end if you remain calm.

In the mean calm time, you can seek clients that are less belligerent and reduce reliance on clients who want to vent it on you. But until then, treat it as a case study in abnormal psychology.

<comment><USER17> fantastic advice

</comment></comment><comment><USER18> Have you tried to explain what behaviours are unreasonable to your customer? I assume they want the project to succeed but they might not realize that their behaviour is actually hurting the team rather than helping.

A very common issue is Project Managers asking for regular (several a day) updates of varying degrees of detail. This is done, normally, because the programme manager is being pressured by the account executive to provide these updates,to, as best as I can figure, give the illusion of control in front of the customer (if project important enough, there could even be VPs involved)

Unfortunately, providing detailed updates that might trigger an email back and forth do not help to deliver the project and yet this is very common.

Sometimes all it takes is for somebody, it can even be a developer to say no, this is counter productive, as the time would be better spent doing actual work. A single daily update will be provided.

Finally, always remember that if everything else fails, you can quit. This is not to say that this might not be without consequences but your personal circumstances _might_ allow it.

Best of luck.

</comment><comment> mickael-kerjean On my first day as a PM leading a team of 5 developers, I had a meeting with the Marketing director as I was brand new to the company. She welcomed me by telling me: "Your developers are total idiots who don't understand anything to the business" while smiling to their faces which has marked me forever. What I learnt from that experience is you can't reason an asshole (I tried too many times over and always failed), if this asshole happen to be your main stakeholder and you can't change that, then get another project or step aside.

</comment><comment><USER19> I had a horrible experience with the site director for a Fortune 50 company that lasted almost two years. I tried most of the techniques mentioned by others here to protect my team.

In the end, the only way we were able to deal with the situation was to play some extreme politics with the asshole's organization to get them to move him to a different org within their company. The company itself (rightly) has a reputation for having an asshole management culture, so things only became marginally better. They were our only client at that site.

I helped some of my team move to different sites within our company to get away from that client. Interestingly enough, I found out about a year into this that my company had given up another site for this same client to our main competitor for that business because it was physically very near their headquarters, and so was frequently visited by asshole executives who created even greater levels of stress.

I also tried to move myself by out of there, but was unsuccessful by the deadline I had set for myself, so I exercised Plan B and changed careers. That was five years ago and just reading this pissed me off again thinking about that situation.

Whatever you do, protect yourself. The damage from enduring that kind of work environment happens faster and lasts longer than you realize.

<comment><USER10> Could you share a few specifics on what actions made your experience with this client terrible? "Terrible" and "asshole" are very subjective terms and mean different things to different people.

<comment><USER19> Late reply, but here are the bullet points:

* Offered expensive incentives to my employees during one particular crunch time -- incentives that were to come out of our pocket, not his -- then lied about it

* Used insulting, demeaning language when addressing me, my direct reports, and some of the first-level employees

* Made racist comments within earshot of the targets

* Shifted goal posts constantly so that last week's goal suddenly became only halfway there

* Tried to get competitive information during contract negotiation time by buying my directs drinks at "social hours" and/or offering seeming insider information to get them to reveal the reasoning behind our negotiating positions

I could go on, but that gives the flavor. My boss got him out by pushing very hard with her superiors and his superiors on a (partially trumped up) sexual harassment charge. Normally that would really upset me, but in this particular case it seemed like old-fashioned rough justice.

</comment></comment></comment><comment><USER4> Take it to the top. Have the CEO of your company sit down with the CEO of their company and get it all straightened out. Since you've already decided they are on the way out as a customer as soon as your company can support itself there is nothing to lose.

Also, this didn't happen overnight and if someone - anyone - on your side would have set this client straight when they first crossed the lines it would have never gotten this far. I've seen my share of toxic customers over the years and the most important takeaway from me is that it takes two, if I let myself be abused once by a customer they'll use that as a baseline for future pushes and it is up to me to stand up for myself and my crew and to push back hard enough that they realize that it is a two way street.

On another note: never depend on a single customer, no customer should be more than 15-20% of your total business, max, and that is likely where it went wrong: your company is afraid to lose this valuable customer and so they accepted more from them than they really should have and it went downhill from there.

<comment><USER20> It's easy to say, but if you begin, it is very difficult to do.

<comment><USER4> Oh, absolutely. Most of this stuff happened early on in my career, people still try - rarely - but when they find out they can't make it stick it actually earns you some weird kind of respect.

I've made a simple decision: my first responsibility is to the crew and their dependents, clients second.

</comment></comment></comment><comment><USER21> Are you an outsourcing company by any chance?

If you are, then there's a fair chance that a decision to go with you was forced on the company's PMs against their will, likely as a cost-cutting measure and, perhaps, causing their friends and colleagues to lose their jobs or some such. You will be then viewed as an unfortunate and unwelcome trade off that they have to put up with. This would apply in double if you are an Indian outlet, because of a sheer scale of general incompetence and outright fraud in Indian outsourcing firms.

</comment><comment><USER22> I'm surprised by some of the responses on here. You don't have to take this shit. Your client is a bully.

Log everything, inform your management you will not be bullied, and in a professional tone, parrot each assholish thing your client says.

If they remain unmoved, tell them upfront this is abusive behavior and it ends now. This will either stop them in their tracks or you will eventually be fired. That's when you consult a lawyer.

I called out two executives in my workplace for similar shit. I was prepared to be fired. Instead the abusive behavior ended immediately.

<comment><USER10> Thank you this is very useful. Paper trails work.

</comment></comment><comment><USER23> There's no managing an asshole. It's very rare for an asshole to become a nonasshole. It's common for assholes to become bigger assholes over time as they get use to shitting on you. Either drop the project or leave the firm. You're in an unstable situation, working with assholes can take years off your life.

</comment><comment><USER24> You don't, this is the kind of project which causes "emotional bankruptcy". The company you are working for is defined by the team working there, not by the disruptive projects you make. Especially if you're doing something like consultancy.

I had a similar situation, we needed 1.5 years to fully recover from something like this, people left after the deadline, productivity dropped, everyone was demotivated.

Me and my friend drifted apart because of a project like this, only to build another company in completely different industry together later and properly discuss how emotionally straining the experience was.

Nevertheless all companies are still running and fine, but it's not something that should be treated lightly. Have a serious talk with your manager if this is affecting you and your team. Most likely the team is more valuable than the project by orders of magnitude.

</comment><comment><USER25> "How do you manage your clients who are completely unreasonable, rude, and treat you and your staff extremely poorly?"

Go up the executive chain. Someone is paying handsomely for your project to end succesfully and that particular someone will probably not be very pleased when he hears that a project is being sabotaged (== $$$) by two asshole underlings. Use that to your advantage.

</comment><comment><USER26> Your main point of leverage is always going to be the willingness to drop them. In your case this doesn't appear to be possible, so you have no control. Us non-nasty, reasonable people can't expect to win against people who've been practising this their whole lives.

Suck it up now, but get an iron-clad agreement from your management to never again court or sign up a client unless they're "nice". And bake it into your company culture. Yes this will limit you to only a section of the market, but unless you're realistically looking at "world domination" you can afford to be a bit picky.

</comment><comment><USER12> Document everything all the time. All the promises, complains, make minutes from all calls and meetings and send them over with cc to boss or whoever. Answer accusations respectfully, but don't ignore them. Again, make sure both are documented. When the "bordeline abusive behavior" is actually accusation of something that is not true, address the accusation (but not necessary emotional tone).

Assholes will lie, willingly mis-remember, accuse you of their own mistakes and of consequences of their own decisions the moment first bug shows in production or something is not perfect. Be ready for that with documentation. Documentation does not make it easy and it will sux, but without it is even harder.

Let staff vent and talk about it, validate their feelings. But, make sure they are calm and respectful in their behavior toward client. Again, keep documentation.

Do not let abusiveness and rudeness dictate process. Do not do things that are irrational wrong or slow you down just because they were abusive or confrontational. You can do them as "client management" of course occasionally, but don't do them just because you are afraid of further abuse or rudeness. Again, document such things in a way that makes your objections very visible and makes it clear they insisted on it.

</comment><comment><USER27> Sadly, this is a pretty typical scenario in consulting. In my own experience, the best and ultimately only thing to do is to be a gentleman as long as you can, and then to walk away once a clients behavior becomes abusive.

You don't say what level your client is in their organisation. If, (as is generally the case with ineffective managers), they themselves have a boss, one of the best ways to address abusive behavior is to withdraw your services, thereby forcing your client's organisation to make a decision about whether to remove them, or force a change in their behavior.

The most important thing a consulting firm has is its reputation. Unsatisfied customers talk to potential customers and dissuade them from entering new contracts. There is a real financial cost to entertaining abusive customers- it is better for all concerned to enforce a code of conduct.

<comment><USER20> I've seen multiple shitty IT contracting firms failing projects over and over and still get contracts.

</comment></comment><comment><USER28> Probably the client is just an asshole and nothing can fix that. However, I have some additional theories that may partially explain it.

My suspicion is that business schedules and contract structures may have something to do with this.

I'm guessing pressure is mounting because a lot of money has already been paid out before they received a final working product. It seems that people like to create large lump sum project fees and collect them immediately. This leads to crunch time and pressure to collect working software without extending the contract for additional money.

If possible I think it's best to have contract structures that are actually billed for the time of the developers and also have relatively short releases. So the idea would be that there is some working software with some features, then every few weeks you add a feature or two. This results in less pressure than if there are very few software deliveries.

But it sounds like there is some fundamental contempt the other party has for your group. It is risky but in order to understand and possibly combat that you could try changing the mode of communication. Perhaps no emails and only phone or Skype or face to face. Maybe you can have a discussion about where the contempt is coming from.

Also if you haven't delivered software for awhile you may not want to wait until the delivery date. Although that could make things worse also depending on the situation.

</comment><comment><USER29> Seems like they are not complete assholes, since the project is meaningful.

Think of the situation where the client is not an asshole but just incompetent, and the project does not pass simple logic tests, let alone business health checks.

And the only reason your project exists is because the client has to make himself busy and spend his budget.

And it pays you well, e.g 150% of market average. And you have extra perks, like the luxury to cycle to work through the forest.

And imagine living this life for years.

With family to support ahd kids on your back.

Um...

</comment><comment><USER30> Whoo: this is close to home. I could tell you a story here but I'd have to use a throwaway.

The best advice I can give you is to grow your business in other areas and diversify your client base. Really this is the only thing that gets you out of the hole in the long-term because it makes you less beholden to these people. Sounds simple but it's obviously not easy.

You should also give your team space and time to talk about it, and enlist your manager for support.

If you can formalise communication (e.g., through regular meetings, or via a ticketing system) all to the good, although I hold my hands up and say this didn't work in our case because the person involved was _absolutely incapable_ of following any kind of process properly.

Finally, and this is the shitty end of the management stick, I'd recommend you shield your team from them as much as is practical: it's time consuming but funnel all comms through yourself. At least it means your team aren't dealing with the pummelling. Again, a good opportunity for your manager to help but you'll need to suggest concrete, practical steps for this because it sounds like they might be overcommitted already based on the lack of support they're providing.

</comment><comment><USER31> First, I don't think that, in this situation, the client should be in direct contact with the developers. I'm not sure how the situation is (if the developers are physically working at your client's location or not), but I think all questions and remarks go through you, since you are the project manager. They will probably give you a lot of shit, but I think that one of your responsibilities is to shield the developers on the project from this kind of shit.

Also, I would try to communicate that the client probably is an expert in their business, and your developers are not. At the same time, your developers are experts at developing, for which you need to know an enormous amount of details about the business. If they seem idiots, it's because they lack domain knowledge (and it might be worth it to try to do something about that in cooperation with the client -- I'm not sure he's open to this but you can always ask him for suggestions on improving domain knowledge).

On the other hand, don't give the client any reasons to be an asshole. Underpromise, overdeliver, and communicate timely and clearly.

</comment><comment><USER32> Do you have any customer support (experienced) people in your company ? Usually they have come across such behavior and help you dealing with them.

Your immediate goal should be shield your developers so that they can continue do work without any pressure.

Next, are you clients afraid of you not meeting deadlines or asking something which cannot be added to the product? The reason i asked this because, i had to deal with such customers in the past where

1) Paranoid Customers- Usually i found they pressure you because there is someone above them putting unrealistic expectations / pressure, identify if someone like that exist and try to get a someone higher than your grade level to talk to them .

2) Satisfying Ego / Giving Importance- We found certain situations even though the changes which customer asking don't make sense or they are expecting unrealistic deadlines and feel that we are not giving the enough importance, during these situations getting someone like a director or Vp on call made them feel more important and deescalated the issue.

</comment><comment><USER33> Some people will say "it's not worth it". But if you need to pay a mortgage and take care of a family, you may have to change this to "it's not worth it forever, but I can handle it for a while."

I have fired 3 major clients of mine in the past 20 years. All of them started out fine, but turned so rotten and horrible I nearly quit each time.

But it's not just bad clients. Even some of my ok clients can be a pain at times, mainly due to schedules and stress.

Here's a few things I have found that help both with bad clients and "ok" clients having a bad time.

1\. Patience and understanding: Seems obvious, but it's possible these people that are assholes today may really be on the edge of losing their jobs/business too. Not an easy thing to do, but takes a tiny bit of the bite out of their accusations.

2\. Support tickets: Require (in some way) all/some requests go through a support ticket system. I have found this can help both parties with communication, so it's an easy sell without having to lie to them. Also, the more nasty they are, the more specific fields they have to fill out.

This turns a "it's broken and you broke it!" into -> "The form shows an error when submitting from an iphone."

3\. At the extreme level, I have stated I will only do email communication and not talk on the phone. May work or not.

4\. Don't answer the phone or reply to emails. Take a break for a while. I have to do this even with my ok clients. (my good clients I pick up on the first ring, and they treat me better than I treat them, or that is how it feels)

5\. Set expectations CLEARLY. I found the biggest problems were when someone thought something was going to happen and it didn't. After many years of software dev, I tell people up front all the things that I know in the past have caused problems.

For example, I say "1/3 of the budget is due up front before we start work". If they come back and say "why haven't you started yet?" I can say "I have not yet recieved the up-front money". And refer to the documentation. (if they haven't read it, that's on them and it take a little bite out of their bark)

Another example is changes. I state clearly in advance, any changes from the specs (depending on the project how detailed they are) _will_ change the timeline and the costs. But even with this, I offer a number of minor changes within the budget. But also, I offer free bug fixes for _fixed_ period of time. All stated plainly up front.

The hardest part about this? When I forget to mention something, and I have to bring it up in the middle of a problem. It doesn't change the formula though.

It's like this: Client asks for 10th change. I say that is a "change order" and will cost extra. Client is mad because he's "expecting" it to be free. I apologize (the key here to take responsibility for my failure to communicated) for not making it clear that there are only 3 free changes, and in fact I have given 10 (demonstrate they have already gotten a deal). But I will give you one more (smooth it over some more even)

6\. Accountability system: I had clients complain about "mystery changes" in their templates. I'd get viciously blamed for breaking a site. So, instead of explaining that my software couldn't possibly create broken html tags with a random copy paste. (because I know my code) I instead installed GIT on the dang server and every save from the client stored the account info, date stamp and even IP address.

That ended _every_ _single_ _complaint_ about template errors. (because _none_ of them were mine, they were all the clients fault.) Imagine having to tell your client it's their fault every time they call you? It sucks for both of you. I cannot emphasize enough what this meant to my sanity. Imagine going from a few complaints a week for months, to zero.

The first few times I had my client click the "history" button on a template and showed that it was either them personally, or one of their unskilled laborers that broke it, the accusations stopped. For ever. (I feel that relief again just writing this)

Since I don't know the exact nature of your project, GIT maybe won't help directly. But the idea might.

A universal CYA method would be include all client requests as part of the documentation to changes. (if this is part of the problem)

7\. Take responsibility for your errors. I found that as soon as I made a mistake, and I owned up to it, it was easier to point out when something wasn't my mistake.

8\. Ask them to be polite. One client (who I eventually fired) had two partners. At the end of the relationship, one of them just sent nonsensical email rants. I asked him to talk more politely, and he out right refused. So I asked his partner to step in, but he was a big wimp and did nothing about it. Now, knowing what I know, I would simply ignore the other guys emails, and just communicate with the decent guy.

Sometimes playing dumb works too with these things. When you are sick of something, just ignore their replies and just keep working and doing the best you can.

9\. The owner/s need to step up. It hits a point where if the environment gets so bad that you start losing talent, then it's going to hurt the owner. It would be a good show of respect to get the owner involved in the problem before it's too late.

10\. Build extra tooling. One project with a client (from #8 above) and sub- par developers that couldn't follow directions or solve any problems. I built an API and all sorts of stuff, documented it clearly, yet I got blamed when their stuff didn't work with mine.

My solution? I built _their_ stuff too. Or at least a very simple skeletal version of their system. Combined with multiple screen recordings of working with the API and the data. That _totally ended_ the complaints that my stuff didn't work, because it was really, really obvious that it did. (their programmers just didn't seem to know anything)

Final thought: I have found when I am teetering on the edge of falling over a cliff (despair/rage/annoyance/quitting/etc...) even the slightest bit of positive change can help me make the right decision. And making the right decision is always better in the long term. So get even small successes from any changes you can make may be all you need to get things on track.

This hits home for me, I've had such horrendous experiences with this stuff that I could write lots more. Hope you recover and everything works out. (sorry this got so long)

</comment><comment><USER34> Usually assholes become lambs when there is a real violence threat. P.S.: My life is a mess, don't follow my advices.

</comment><comment><USER35> Its obvious to me that they are not happy with the service you are providing.

I've dealt with an outsourcing company in the past for an entire year, and really, being on the other side of the fence it _is_ a very stressful situation.

The kind of problems, like lack of testing for bugs, fixing one bug but introducing another bug, slow progress, lack of proper management, lack of understanding requirements all adds up.

Its THEIR asses on the line, not yours, so you should understand that they might be a "little" stressed with no real control over the situation other than through you.

They are paying money for whatever service you are providing, if things aren't going well then its because the culture of outsourcing companies is to not give a shit about bugs so we can bill the customer for months and months more for them to fix the bugs.

</comment><comment><USER36> Are they being assholes simply because they're nervous about your team and whether you're going to deliver, vs. make them look like, well, assholes? Maybe they're insecure and frustrated about that, and about their own inability to evaluate your work on a technical level. Sounds like a little "explanation for a non-technical audience" and some reassurance and empathy are in order. Sometimes assholes are assholes because they're scared, and they think being an asshole is the only way to handle it. Although a firm but polite reminder that you're not going to eat their shit is probably a good idea too. You've set a bad precedent by allowing it at all. Be the mom AND the dad to these little kids.

</comment><comment><USER37> Bite your tongue, wrap up the project gracefully and never work with them again. This is easier said than done, but as you mentioned, you are close to launch and your company could not survive without the deal. Good luck.

However, I would like to point out to things: 1\. Client treating YOUR staff poorly is way beyond any line. It should be communicated to the client and explained that it's not helping anyone and that you will be removing your abused staff members from the project, thus slowing the whole thing down. 2\. From my past experience, problematic clients have problems paying at the end of the contract. Just make sure this bit is legally covered.

</comment><comment><USER38> The only strategy I've been part of that has worked in this situation is to set up one person as the gatekeeper and shield the rest of the team from any contact with the client. Pick your gatekeeper with care and give them 100% support.

Also, while fully understanding why your client is behaving like this may not always be possible, you can usually get part of that picture; do they want leverage, are they under pressure themselves? Sometimes understanding this can help you proactively short-circuit their behaviour.

<comment><USER33> I generally agree having one contact person mitigates the spread of the damage. But it seems like he is asking for feedback partly because he has the role of the gatekeeper himself (at least part of the time if not all of it).

Eventually everyone will hit their limit though, no matter how much support they get, or how well your coping mechanisms are.

Therefore, doesn't it seem useful to find a way to ask clients to behave appropriately/respectfully?

Even if they say "no", at least this opens up clear communication. (ie, if he says "I am _going_ to be jerk, live with it,", then it seems appropriate to openly be protective in return.)

</comment></comment><comment><USER39> Might sound obvious but you'll be surprised how much we resist just airing the issue: Have you tried talking to the person (Product Owner/direct manager) human-to-human? Tell him/her that you are aware how stressful it is for the PO with the impending release. Remind him/her how much better his/her products will be if developers are motivated and work as a team.

"If you would persuade, you must appeal to interest rather than intellect." – Benjamin Franklin.

</comment><comment><USER40> I fear they may know it and because you are tied so tightly to them they know they can behave that way and potentially use their leverage for other things.

I've known companies who explicitly look for situations where they are the biggest customer in order to operate how they wish and extract concessions. I'd be concerned about more than just behavior.

</comment><comment><USER41> I'm cautious of taking the asshole judgment at face value because we only see one half of the story. Instead, I want to dig in a bit and find out more.

> extremely aggressive and borderline abusive behaviour

Such as?

> In the beginning we we all agreed not to take anything personally and to let > it just roll off the back.

Could you have done something differently here?

> We agreed to tighten up our processes and try to avoid confrontations by > being super proactive with all our work

What does proactive mean in this sense? That it met client's expectations, or that it tried to pre-empt them, or something else?

> Ordinarily, we would have dropped the client by now and refused to put up > with the end-justifies-the-means tactics

Tactics such as...?

> we're coming close to the launch date, and it's getting worse as more > pressure mounts.

Where is this pressure coming from? Is it coming from you and your direct managers too?

> This is a very high profile project that stands to disrupt its market.

Is this what you tell your team? If so, that might answer the last question!

> It's exciting for them and us.

That sounds really positive. Does that mean there's a way to share that excitement?

I don't mean to be accusatory, I think this is important to explore if you want a decent answer without the confirmation bias.

</comment><comment><USER10> Please check out The Psychopath Code written by Pieter Hintjens. Based in real events, real people entangled in real software projects.

[http://hintjens.com/blog:_psychopaths](http://hintjens.com/blog:_psychopaths)

</comment><comment><USER42> One thing that we always joked about but have never done, is giving nasty people's names to a bunch of recruiters to help them to find a job someplace else.

More practical is making sure you have account management with relationships at a higher level to put a stop to the abuse.

</comment><comment><USER43> Sometimes its just perception from stress, but there can be very unprofessional people out there.

I began using mirroring and calibrated questions I picked up from a negotiations book. I find it to be a very helpful approach that helps me keep the ball in their court so to speak.

</comment><comment><USER44> Even if there are plenty of competitors in your space, time is a huge factor, and they probably need your firm as much as you need theirs at this point.

So, I'd just put the cards on the table: treat us with more respect or find someone else.

That usually sorts things out.

</comment><comment><USER45> Take client and your people out for beers; there is a world outside work and noone wants to be "an asshole".

</comment><comment><USER46> When you look at client cultures, there will be a spectrum. It is vitally important to know you will see a bit of each type: the good, bad, and fucking ugly. Learn to deal with them all. There are some that you are better off breaking ties with: clients who will tie up your resources, wasting too much time and energy.

As to the troublemakers and jerks:

1) To the extent you can, accommdate.

2) Limit contact to the people who can work with them with the least friction.

3) A quality product is the result of process, not something conjured up instantly and perfectly. Work and refine the pricess and make sure the customer understands it.

4) Keep a policy to neither abuse nor take abuse. Reasonable, constructive criticism is one thing; attacking just to enjoy inflicting pain is unacceptable. If they want to piss on something, direct them to the nearest outdoor fire hydrant.

5) If your product and development process is sound, stand your ground. Assert that "business is the persuit of the possible." If the customer wants magic, buy'em tickets to Las Vegas and GTFO business.

6) Increase your customer base so that you are proportionately less exposed to problenatic customers.

7) Train your staff in "people skills" for de-escalating conflict and staying focused on getting the work done.</comment>


NSA controls global Internet traffic via private fiber-optic cables - <AUTHOR> http://rt.com/usa/nsa-fiber-optic-cable-790/

<comment><USER2> "As people worldwide chat, browse and post images through online services, much of the information flows within the technological reach of US surveillance. [...]"

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


Aftermath of Sony Betting Its Game Division to Help Its Movie Division: over $1 billion in losses - <AUTHOR> http://blogs.guardian.co.uk/technology/2007/10/26/playstation_3_losses_now_over_1_billion.html

<comment><USER2> And counting!

The worst part of it is that Blu-ray still isn't considered the industry standard. Maybe they should've made a Blu-ray attachment for the PS2 instead.

<comment><AUTHOR> they should have - but they wanted to help their movie arm... not to mention they should have thought about putting out (by helping blu-ray to become the standard with ps3) something easier to program for...

then again MS will also eventually lose money on the 360 as well, for making faulty hardware which we added a 3 year warranty on. Estimated cost: 1 billion.

Looks like Nintendo will be the big winner in this war

<comment><USER3> "Looks like Nintendo will be the big winner in this war"

Pretty sure NOT.

Now that MSFT has eaten Sony's lunch (and is (eke-ingly) profitable), its only a matter of time before they consume Nintendo. You know the drill, embrace and extend, fast follow...

<comment><AUTHOR> I really doubt that considering: 1) even if Nintendo lowers the price of their console, they still profit from the sale of each one; both MS and Sony still lose money on every sale of their consoles

2) game development on Wii (and DS) is much cheaper than 360 or PS3. Not to mention sales are great on Wii. Ubisoft made a killing last holiday season on the Wii. Publishers like EA that put their bets on Sony and MS didn't post phenomenal sales and profit in the same quarter. Publishers are now shifting their focus on the Wii. Consequently the Wii will probably have the biggest library (something that made PS2 king).

3) based on current growth rates, the Wii is already dominating 360 and PS3; Nintendo already has the mindshare of normal people which normally don't play games

Nintendo has already eaten both MS and Sony's lunch (especially Sony's)

maybe in the next war MS will be able to dominate (they have improved afterall - except for the hardware problems)... but they won't in the current one

<comment><USER2> You're right. But a few corrections:

1) Microsoft makes money on the most expensive Xbox 360 (the Elite) for sure. The margins are probably close on the normal 360, and maybe taking a tiny loss on the new Arcade SKU.

2) While the Wii is cheaper to develop for, the biggest moneymakers have all been on the Xbox 360, and I suspect that'll be true for a while. The big sellers are all multiplayer online, and the Xbox LIVE stuff is best of breed there. That said, Nintendo's going to definitely see an uptick in 3rd party games, if only because there haven't been all that many so far.

3) The Wii isn't actually dominating the Xbox 360 in the US in absolute terms.</comment></comment></comment></comment></comment>


Ask HN: What must I know about options before accepting a startup offer? - <AUTHOR> Some quick info:
The company is in the "late stages" of a startup - they've raised a sizable series D. I'm not too concerned about their staying power and I believe in the product. What I want to know:
1. How do I value my options? I have a sliding scale of more money-less options. What questions should I ask to get a better understanding of this value? All they've told me is I'd get N options.
2. A more broad question, but what's it like working at a later stage startup? <comment><USER2> [IANAFA]

Two methods of valuing options:

1.0 Analyze the cap table and the liquidation preferences for any and all preferred stock.

1.1 Adjust based on liquidity [i.e. few companies are IPO'ing these days], an assessment of the good will of the founders toward employees [i.e. are the founders working to make employees rich], and it discount for the time value of money [i.e. opportunity costs].

1.3 Keep in mind that the valuation from a funding round is based on investors receiving preferred stock, not common stock like employees.

1.4 Understand options are not grants. Be clear on the financial requirements for exercising options both in terms of capital investment and tax liability. Assess these against your current and probable future cash assets.

1.5 Know your tolerance for investment risk. Would you invest your cash savings in the company in an equal amount to whatever cash value you assign to the options. And remember that they are options with a vesting period and only have future value and then only if exercised and sold into a market.

2.0 Use "safe harbor" valuation

2.1 It is worth $0.

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER3> 1\. You should probably know what the job is.

2\. Is the job legal?

In all seriousness, your question is too broad. It would be better to state what you know about a particular aspect of the job, and then ask what you might be missing. But to simply make a vague question does not allow anyone to give you a good answer.

<comment><AUTHOR> Good point, I'll update the description - I really want to know what questions I should be asking with regards to my options in order to assess their value.

</comment></comment><comment><USER4> Are they going to pay you in money = cash = real dollars, or only in equity?

(Assume that that the equity value is $0, but grab a little just in case it's really the new Google.)</comment>


Ask HN: Where do you go for inspiration? - <AUTHOR>

How do you stay motivated and inspired to work on your side projects? I have some stuff I'm working on, but haven't cracked the nut on making consistent progress yet.<p>I keep thinking of that Antoine de Saint-Exupery (dude who wrote The Little Prince) quote "If you want to build a ship, don't drum up people together to collect wood and don't assign them tasks and work, but rather teach them to long for the endless immensity of the sea." I'm trying to keep loving "the immensity of the sea" in my side projects, but finding it difficult. What works for you? <comment><USER2> I think this is why we have so many cliches in this area since it's a universal problem.

"well-rounded", "informed citizen", "having a life", "attitude adjustment", "stopping to smell the roses"

Inspiration comes from life. I read blogs, news, and have real life experiences. Maybe your life involves working out, listening to music, fine dining, politics, environmentalism, drinking, traveling, farming... Then combine that with a desire to improve the condition of humanity. We are motivated by deeper, more timeless issues than say setting up a server to do X task.

Staying on track with side project work means making space for it also, and being comfortable with the technology you're using (use what you enjoy).

</comment><comment><USER3> Scratch an itch. Build something that solves a problem you have. In theory, you should work on it until you've solved your problem. By that point, hopefully, it'll be useful enough for others to use as well. Let other people in, get feedback, receive an endorphin rush, and the cycle continues!

My successful side projects have always been things that solve my problems first and foremost. They've also just happened to solve problems that a reasonable number of other people have too.

</comment><comment><USER4> Inspiration is bullshit. You just sit down and do the work. No excuses. I used to wait unt inspiration came by. It never did and I wasted lots of time. What you have to do is realize that people who get shit done are just disciplined. Build your discipline and your projects will work out like magic.

I but my discipline by forcing myself to sit down for an hour a day to code. No ifs bits or anything. Sit down and code. Did it work? It worked like magic.

</comment><comment><USER5> I don't really go anywhere specific for inspiration, but I am inspired by nature. Living in southern California has some really nice benefits and when I go to the beach or go for a walk or hike, I find myself reflecting and being inspired by the things I see.

</comment><comment><USER6> For inspiration I go for an one hour break with my co worker and we talk about our side projects. You will be surprised how motivated you can get, when you share your thoughts with someone who has the same goals

</comment><comment><USER7> i have the same problem</comment>


How to overcome the scare of being caught when hacking? - <AUTHOR> I'm new to hacker zone so I wish anyone can provide any experience about their feelings of their first hacking activities when they knew they were hacking
I'm asking because recently I found a suspect zero day flaw in a website. I want to do some tests with it but as a newbie, even though I have confident, I'm afraid of being caught by the company for whatever the reason that could be my unknown-unknowns, and of course afraid of the bad consequence.
I do want to do some research but I have no idea of what jargon or keyword I expect to searching for....
I really appreciate someone can provide a hint. <comment><USER2> I wouldn't do any further penetration "testing" on the website you are talking about above. If you wanted to be polite, you could email the admin.

That being said, there's always a chance they could press charges against you for cyber crimes even though your intentions are to help them fix their site.

</comment><comment><USER3> When in doubt about the consequences, don't do it, or postpone further probing until you have ascertained the risk, the consequences, and the necessary countermeasures (by employing operational security, or _opsec_ ).

To ascertain risk, start by figuring out if what you intend to do is legal.</comment>


Show HN: New Hacker News web client - <AUTHOR> http://hack.ernews.info/ <comment><USER2> This looks good, the animation on hover doesn't add any value though.

My favourite HN client on phone is [http://cheeaun.github.io/hackerweb/](http://cheeaun.github.io/hackerweb/). It's lean, fast and looks like a native app on the phone. I've added a shortcut to my mobile's home screen, using the 'Add to Home Screen' option in Chrome, which gives me a nice quick launch icon.

The downside of both these clients is that you can't login or post using them.

<comment><USER3> What do you use for posting from mobile? I tried several apps, even a paid one. They either didn't offer login and posting or offered it but it didn't work.

<comment><USER2> The official news.ycombinator.com. I prefer to post from the computer anyway. MiniHack mentioned in the other comment looks good, though it's only on iOS.

</comment></comment></comment><comment><USER4> Doesn't beat [http://www.hckrnews.com/](http://www.hckrnews.com/) for me since that lets me show just the top 50% of stories, top 20%, the front page, etc.

<comment><USER5> I also think that this is the best client.

</comment></comment><comment><AUTHOR> Based on the Firebase HN API, I made a web client that updates stories and scores in real-time.

No need to refresh your browser anymore to see new stories and comments.

Also, I used a responsive design to be able to read the stories on my mobile phone.

For now, I only show the top stories, up to 100 of them ( that's how many the API gives you anyway ).

If people find it useful, I might add other things. Hope OAuth becomes available so I can add up-voting and comment adding.

<comment><USER6> I've been waiting for this for a while.Thank You!

<comment><USER7> Same thing here. I was using [http://hckrnews.com/](http://hckrnews.com/) on my tablet because of the non-responsiveness of Hacker News but [http://hack.ernews.info/](http://hack.ernews.info/) seems better because it includes comments and use the new API. Thank you !

</comment></comment></comment><comment><USER8> I pretty much like it. But the "jumping" on :hover of an topic doesn't feel that good.

So instead of

      .list-item:hover {
        margin-bottom: 4px;
        margin-top: 4px;
      }

maybe use something like

      .list-item:hover {
        outline: 3px solid #ccc;
        z-index: 10;
      }

Just my two cents. ;)

</comment><comment><USER9> Looks nice but I dislike the animations. Also maybe clicking anywhere in a div should open up the comments?

<comment><USER10> > maybe clicking anywhere in a div should open up the comments?

That's what I would expect when you are presented with a change - link gets underlined, bottom slightly "opens"

edit: Actually, those visuals could also mean a link would open. Probably even more than comments.

<comment><USER9> My line of thought was that since comments would open on the site it would have an animation whereas outbound links would use the tried-and-true underlining.

</comment></comment></comment><comment><USER11> Looks good. My only comment is that I really wish it showed more posts. I have some big monitors, with pretty high resolution, and I love being able to see lots of content on them.

As far as dealing with my taste in UI I use Hacker News Enhancement Suite[0] for computers and MiniHack for mobile[1](not affiliated). The primary reason I switched to MiniHack was I really wanted the ability to log in and comment. I spend a lot of time working on just an iPad (writing, etc.) and it's great to be able to comment as myself without any of this fancy browser stuff.

[0] [https://github.com/etcet/HNES](https://github.com/etcet/HNES) [1] [https://itunes.apple.com/us/app/minihack-for-hacker- news/id6...](https://itunes.apple.com/us/app/minihack-for-hacker- news/id631108846?mt=8)

<comment><USER12> There is no API to login/comment.

I have web client [http://hn.premii.com/](http://hn.premii.com/) that uses new APIs (No login).

iOS client [https://itunes.apple.com/us/app/hacker-news- yc/id713733435](https://itunes.apple.com/us/app/hacker-news-yc/id713733435) where you can login and upvote.

</comment></comment><comment><USER13> One of the worst things you can do as a designer is to move an element around while the user is trying to target it with the cursor.

(This is also why I'm not terribly fond of the default animation of the OSX Dock)

</comment><comment><USER14> Some comment section feedback:

The horizontal indentation on the comments might be a bit aggressive, and each comment is taking up a great deal of vertical screen real estate. Further, the clickable "more" makes reading long comment threads difficult without a great deal of scrolling.

It seems to be optimized for mobile viewing, which is good. Dobbs knows how I hate clicking tiny links with my fat fingers. But, when behind a desktop client, the CSS could be adjusted such that it takes better advantage of my screen resolution.

<comment><AUTHOR> @atoponce I kept the same indentation because I wanted to have a familiar design. That tree structure is not easy to display. Showing all of the comments at once can be a disaster in slow connections. "Show more" button is needed for now. I hope later I can give users the ability to customize how many things to load. I've only been working on this project for 3-4 days now. Front and back end.

I already have some thoughts on how to handle the comments section, I agree it has to be very efficient cause the whole point of the client is to let you get in and out of the comments section easily. Reading the headlines is the easy part.

If anyone is a designer or has design suggestions, I'm happy to see them.

</comment></comment><comment><USER15> I have been seeing quite often that the webpages makes it to first place on Hacker News are getting unresponsive, slow or even down just like this one.

Is there anybody knows about the load statistics when a story on Hacker News gets on the first place?

What i mean is; how many requests are made to a web page, what is the req/seq and etc?

I guess this would be useful for me and other people to get ready for possible load on our site to be sure if we can handle this load.

<comment><USER16> My blog has been in the top 5 a few times. When you reach the top 3 positions, you can expect around 150-250 simultaneous users for a few hours.

Top 5 is more like 50-75.

Top 15 is around 25-50.

Those numbers aren't req/sec but simultaneous user. There's a difference between the two but it still gives you a number to compare things to.

All you read about how the top 3 gets 75% of the traffic in Google is true to about every places where there's ordering.

As for the load, it depends a lot, that website seems to poll HN's API quite a lot so maybe that's how they get down (HN throttle the # of query).

I made it on the top 5 with a VPS on 128MB of RAM and didn't even feel it (without caching). You need a LOT of traffic for a blog to be affected by the load.

Obviously, when you do a lot of polling/database intensive stuff (games, etc.) the bottlenecks are easier to reach.

</comment></comment><comment><USER17> Nice! The live update is sick!

What would make me use this instead of news.ycombinator.com every day however would be:

\- the ability to hide stories you've already read (some box to tick like a todo list) or are not interested in. They take up so much space, so there is a lot of wasted space after 5 mins on the site and reading/seeing I'm not interested in the top stories. I don't want to click 'show more', I want new headlines to replace old unwanted headlines

\- Color coding the actual divs to signify hotness and using size of divs to signify importance/upvotes would be nice. The font is so thin in the orange circles (and the spacing between them and the text) that I cannot read it in my peripheral vision and have to glance back and forth between titles and ranks

\- hover movement is disturbing enough for me to navigate with keyboard instead of mouse

<comment><USER18> > the ability to hide stories you've already read (some box to tick like a > todo list) or are not interested in. They take up so much space, so there is > a lot of wasted space after 5 mins on the site and reading/seeing I'm not > interested in the top stories. I don't want to click 'show more', I want new > headlines to replace old unwanted headlines

This is a feature I'd love in the current site as well

</comment></comment><comment><USER19> Not bad, but I still prefer the "HackerWeb" version when on mobile ([http://cheeaun.github.io/hackerweb/](http://cheeaun.github.io/hackerweb/)).

</comment><comment><USER20> Nice job! Not to pull anything away from it, but I just published my first Mac app to the App Store, its a native HN client. [https://itunes.apple.com/us/app/mackernews-hacker-news- clien...](https://itunes.apple.com/us/app/mackernews-hacker-news- client/id946730699?mt=12) Will do an official post once i have a landing page up.

Nice job on your webclient. Loving the material design-eque buttons :)

</comment><comment><USER21> Probably the best HN redesign I've seen yet to date.

Some light criticism:

1) decrease the padding between each story space, there's juuust a touch too much white space

2) the big attraction to HN is indeed the comments, so accessing or invoking the comments should be really easy. In your version, I have to click the comment icon or the comment numeral count link... why not instead have the entire space (excluding the story link) open up the comments?

</comment><comment><USER22> Is this open-sourced on GitHub?

<comment><AUTHOR> No. The HN API is public though. [https://github.com/HackerNews/API](https://github.com/HackerNews/API)

<comment> atom-morgan Is there any chance of it being open-sourced?

</comment></comment></comment><comment><USER23> Try HNPaper [http://hnpaper.forge.partlab.io](http://hnpaper.forge.partlab.io) (checkout the statistics: [http://hnpaper.forge.partlab.io/statistics](http://hnpaper.forge.partlab.io/statistics))

</comment><comment><USER24> I recently tested my web-pages against a 4k display. The impression was horrible. One tiny column and useless word-wraps generated almost unreadable text. I would really like to see themes that can handle horizontal resolutions above 1900 pixels.

</comment><comment><USER25> Nice! I really like the animations actually. Now all it needs is upvoting and commenting built in (but obviously HN would have to enable that part of the API - which I assume is disabled).

Good job on separating the comments visually.

This is much more usable, not to mention responsive.

Well done!

</comment><comment><USER26> And it's responsive!! Awesome. Reading HN on mobile has always been a pain.

<comment><USER27> Lol what? HN is the most simple website I visit nowadays, aside from plain html and apache file listing. There really isn't any way to make it easier, simpler and faster without sacrificing usability.

You mean doing a pinch gesture with your fingers to zoom is painful?

<comment><USER28> Do you seriously not mind having to zoom in on every single thread, and constantly scrolling left to right to read a comment?

<comment><USER27> I browse so many non-mobile websites (such as forums) that I do it without thinking about it, I actually had to pick up my phone just now to see how I actually use HN. Wasn't a problem at all. I don't know if the experience is more "painful" on other mobile browsers, but the experience is flawless on Safari.

</comment></comment></comment></comment><comment><USER29> Nice, but I still prefer the more information-dense original client.

</comment><comment><USER30> Looking good, only the score numbers might be a little too thin, and the margin on hover animation doesn't work for me. It distracts me from reading, becoming a bit annoying.

</comment><comment><USER31> I like this a lot -- I do wish it was possible to view a few more items at once -- at least on higher-density displays -- but this looks great.

Nice job!

</comment><comment><USER32> It's awesome, design and animations need little tweaks. But another issue is. HN API Health? It's pretty bleak time to time.

</comment><comment><USER33> Looks very good

Suggestion: when expanding the comments, add an option to Show All comments instead of just loading a few each time

</comment><comment><USER34> Good job! You could gzip your CSS and JS:

[http://hack.ernews.info/main.0.3.0-4-gf7fc609.css](http://hack.ernews.info/main.0.3.0-4-gf7fc609.css)

[http://hack.ernews.info/bundle.0.3.0-4-gf7fc609.js](http://hack.ernews.info/bundle.0.3.0-4-gf7fc609.js)

<comment><AUTHOR> @gulbrandr They are already gzipped. I can see the original size of the assets in the disk, the ones served are much smaller.

</comment></comment><comment><USER35> In the words of Steve Jobs: "That is really ugly, and you're fired". It has that failed Web 3.0 look. More rounded corners, excessive margin, but less content per page. One commenter pointed out its easier on mobile, but that can be resolved with the existing style.

Please, think of the children.

<comment><USER36> > but less content per page

This is why engineers are not designers. Left up to engineers, every pixel would be crammed full of "content", all at 11px font.

<comment><USER37> This is exactly what I want, though.

<comment><USER38> Me too. I can't stand unnecessary whitespace, the current size of HN is readable enough as it is on the desktop, the condensed content is a feature, all HN really needs (IMO) is a better theme for mobile and collapsible comment threads.

</comment></comment></comment></comment><comment><USER39> Too big

</comment><comment><USER40> yo what happened to that recalibrated HN site with the awesome awesome (fill- the-border-box-up-as-the-rating-increases) coolness and simplicity? anyone know what i'm talking about?

</comment><comment><AUTHOR> thanks for the feedback. I'll try to improve the site based on that.

I tried to reply to your comments but I was getting the "you're submitting too fast" message...

</comment><comment><USER41> It'd be nice if this had infinite scrolling.

</comment><comment><USER42> Comments should be able to collapse.

<comment><AUTHOR> @GhotiFish They are now. :)

</comment></comment><comment><USER43> Looks very good. Well done.

</comment><comment><USER44> The world needs two things: a new Javascript framework and a new HN reader!

</comment><comment><USER45> Can you post?

<comment><USER46> TLDR: no.

From [1] "If people find it useful, I might add other things. Hope OAuth becomes available so I can add up-voting and comment adding."

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

</comment></comment><comment><AUTHOR> v0.4.0 is up.

</comment><comment><USER47> Please add an option/extension so that downvoters provide reasons for their downvoting. It helps to understand the other view points or reasons for disagreement rather than just downvoting, which appears rude/insensitive, and may be for ideological/racial reasons(which we never know).

Upvoting without reason may be ok, in that case at least we know that upvoter is in the same/similar logical region as we are. Downvotes may indicate differences of opinion but do not indicate what/why are those differences. So reasons for downvoting clarifies those reasons and other view points, which I guess is the reason for "comments" in the first place.

</comment><comment><USER48> A separate page for an item's comments would work better for popular links.</comment>


A Neural Network for Machine Translation, at Production Scale - <AUTHOR> https://research.googleblog.com/2016/09/a-neural-network-for-machine.html <comment><USER2> Good to see this as a Chinese native. Congratulations to Google!</comment>


Anonymous hacker behind Stratfor attack faces life in prison - <AUTHOR> http://rt.com/usa/news/anonymous-stratfor-hammond-judge-440/ <comment><USER2> Jeremy Hammond's background is much better covered here[1].

In particular, he created HackThisSite[2] 9 years ago, which, among other things, has challenges like Stripe's capture the flag (web version).

[1] <http://en.wikipedia.org/wiki/Jeremy_Hammond>

[2] <http://www.hackthissite.org/>

<comment><USER3> HackThisSite - I remember that, thanks for the extra intel :)

</comment></comment><comment><USER4> So now we're treating sql injectors the same as murderers? Is a little bit of reason as regards sentencing too much to ask?

<comment><USER5> Whilst I appreciate the sentiment behind this, classifying him as just an "SQL Injector" is being a little disingenuous; If you actually get credit card information and then deliberately distribute them, that's a little different than pushing through basic commands to see if you actually can inject.

<comment><USER4> Absolutely, and the "access to unauthorized computer" part of his prospective sentence will be relatively minor. Still, the fact remains that a non-violent criminal (and he _is_ a criminal) is being more harshly punished than many murderers and child rapists. That, in and of itself, is an injustice.

</comment></comment></comment><comment><USER6> "Legal proceedings in the case might soon be called into question, however, after it's been revealed that Judge Preska's husband was a victim of the Stratfor hack."

</comment><comment><USER7> How did they find him?

</comment><comment><USER8> This is from RT, which is directly funded by the Russian government.

<comment> daniel-cussen This reminds me of the Soviet claim in response to American criticism of human rights violations. "And you are lynching Negroes", the claim went, from the thirties on.

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

Point being, RT and similar Chinese outlets talk openly and fairly on issues USA hates to talk about as sovereign PR retaliation. Overall, the effect is positive: world powers muckrake each other and compete to see who can look least bad in the eyes of the World.

<comment><USER9> At which point the retort should have been, to follow that logic, and you starve millions to death! [1]

The thing is while an opposite viewpoint is desirable, their viewpoints tends not to be balanced but rather lean far 'the other way'. Let's say the 'truth' is 5, we claim 7, they claim it's -1. So, on balance, you're not getting the 5 by adding their viewpoint.

[1] <http://en.wikipedia.org/wiki/Holodomor>

<comment><USER10> For argument's sake, let's say the 'truth' is 5, you claim -1, and they claim 7.

<comment><USER9> Yes, except, one government goes out of its way to retaliate lethally[1] against its journalists who counterargue the government line. So, given that, I think we're the 7s and they're the -1s.

[1][http://en.wikipedia.org/wiki/List_of_journalists_killed_in_R...](http://en.wikipedia.org/wiki/List_of_journalists_killed_in_Russia)</comment></comment></comment></comment></comment>


The Government Uses Zero Days for "Offense" - <AUTHOR> https://www.eff.org/deeplinks/2015/11/its-no-secret-government-uses-zero-days-offense <comment><USER2> 91% could also pretty misleading because not all vulnerabilities are equal. It's easy to let 9 potential segfaults or memory corruption issues get disclosed if you get to hold on to the 1 iOS Zero Day/Shellshock type attack/etc...

<comment><USER3> You beat me to it, haha. I was going to make the point that the vast majority of bugs found don't do anything significant for a hacker. A program crash or corruption at worst. It wouldn't surprise me if NSA just discloses the ones that hurt availability while weaponizing the few hitting confidentiality or integrity.

</comment></comment><comment><USER4> Does the EFF really expect the NSA to publicly detail every time they've used an exploit offensively?

<comment><USER5> Against Americans? Yes. The rule of law demands it.

<comment><USER6> That point is so important that I hesitated to add a distraction but I think it's also worth remembering that the NSA has a defensive role, too.

It's been much neglected in recent decades but the entire country would be better off if the NSA helped patch things. They're hoping some suspected bad guy doesn't get patched but odds are high that many Americans, particularly important IP-heavy businesses, are going to get exploited as well — and given all the reports about how e.g. bin Laden preferred to send messages using trusted couriers, that trade off doesn't seem very good.

<comment><USER7> Are you seriously suggesting you don't think the security services have decades of experience in weighing the pros and cons of information release?

<comment><USER8> Whats good for one agency may be bad for another, for example the State Department might like Tor because it facilitates anonymous informants while the NSA might not like it because they can't read your email.

I am not even sure if the NSA's mission extends to defending civilians.

<comment><USER9> I'm not even sure it extends to defending the _government_.

At least not fully enough, given the OPM breach.

</comment></comment></comment></comment></comment></comment><comment><USER10> Now the question is, are vendors deliberately putting in security flaws at NSA's instigation?

Intel's "system management mode" and code need to be viewed with extreme suspicion. So do network controllers which accept management commands from the network side. It would be so easy to add some system management passwords to a network controller that don't show up when you list them. (In fact, if you're willing to have them show up in a list that nobody ever checks, you can insert a backdoor in a motherboard if you can get hold of it anywhere in the supply chain, hook it up to power and Ethernet, and talk to it briefly.)[1]

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

<comment><USER11> I doubt the NSA needs to instigate much. There is so much bad code in the world, and it just keeps growing, they would be in business forever just sitting on their thumbs.

<comment><USER12> The Onion: China Unable To Recruit Hackers Fast Enough To Keep Up With Vulnerabilities In U.S. Security Systems [http://www.theonion.com/article/china-unable-recruit- hackers...](http://www.theonion.com/article/china-unable-recruit-hackers-fast- enough-keep-vuln-51719)

</comment></comment></comment><comment><USER3> It's good news to me. The NSA's mission means they're going to have to get in _somehow_. FBI, too. Bulk collection and subversion have huge issues. Targeted collection with 0-days in endpoints that we know are insecure is much closer to Constitution than most of what they do. If people want that to go away, they could always apply methods for building secure systems from ground up. I've posted plenty here and elsewhere about high assurance security along with tons of Comp Sci and case studies existing.

If not, they've chosen to accept that risk from NSA and others hunting 0-days. Most choose that. Most platforms have tons of risk and attack surface. So, I'm all for them collecting 0-days for focused attacks and relying on it rather than pushing subversion or L.I. harder.

Anyone worrying about this should be focusing on the organizations creating 0-days with known-insecure development practices rather than those exploiting them. They're the problem and the demand side (users/customers) that doesn't give a shit. Excerpt from a counterpoint to Bruce Schneier on why users/customers, not manufacturers, were the problem in terms of security of our devices and services:

"Why does this problem (insecure everything) exist? Because manufacturers don't focus on building secure systems. Why don't they build secure systems? _BECAUSE USERS DON 'T BUY THEM_!

Most users want the risk management paradigm where they buy insecure systems that are fast, pretty and cheap, then occasionally deal with a data loss or system fix. The segment of people willing to pay significantly more for quality is always very small and there are vendors that target that market (e.g. TIS, GD, Boeing and Integrity Global Security come to mind).

So, if users demand the opposite of security, aren't capitalist system producers supposed to give them what they want? It's basic economics Bruce. They do what's good for the bottom line. The only time they started building secure PC's en masse was when the government mandated them. Some corporations, part of the quality segment, even ordered them to protect I.P. at incubation firms and reduce insider risks at banks. When the government killed that & demand went low again, they all started producing insecure systems again. So, if user demand is required and they don't demand it, who is at fault again? The user. They always were and always will be.

On the bright side, those same users are the reason I can send photo's to friends on a thin, beautiful smartphone. They also gave us short-lived 1TB hard disks whose low cost made the short-lived part tolerable. They are also probably why I have a full-featured, fast, cheap wireless router at the home. So, at least some good comes from the users choices of demand. But, they definitely don't accept the tradeoffs of real security, they don't demand it, it doesn't pay to produce it, & that's why it's their fault. "

<comment><USER13> And you're cool with them doing it to _you_?

<comment><USER3> Yeah. If I used insecure crap, I've already decided that it will be destroyed by opponents. If I want something safe, I use very secure methods to protect it. That field is called high assurance or high robustness security. Quite a few things in it stopped NSA pentesters. Very few of us left in that field but one can learn from what's published as I did. Build your security strong, obfuscated, and with tamper detection to give them real headaches. Otherwise, you're enabling your enemy by your choice of systems, software, and methods. It's your own fault given what you know of the world you live in.

Examples of high assurance thinking another comment:

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

Have fun with that rabbit hole. :)

</comment></comment></comment><comment><USER14> Let's just keep writing operating systems and security-sensitive code in C.

I'm sure _this_ time we'll have even _better_ development practices. This time we'll do better code reviews. This time the static analysis tools will catch more problems.

If we all close our eyes and wish _really_ hard we can avoid inconveniencing a few programmers, save a few CPU cycles, and keep using C. After all, the performance is totally worth a few heartbleeds now and again ya?

<comment><USER15> The issue is not _writing_ such software in some other language. The issue is _re_ writing such software in some other language. That's a very very large pile of functionality to implement all over again. In the process new bugs will be introduced, including new security bugs. While it's easy enough to write a toy system in some other language and get a paper published, a more fruitful approach for making a _real world_ system secure is to do so incrementally. Look at the L4 family of microkernels for an example.

</comment></comment><comment><USER16> Time for software vendors to plug the zero day holes.

More generally, need some assurances.

In addition, need some good zero day detection means.</comment>