hacker news with inline top comments    .. more ..    19 Oct 2016 Best
home   ask   best   3 years ago   
Be Kind briangilham.com
2460 points by bgilham  5 days ago   432 comments top 101
endymi0n 5 days ago 8 replies      
When he returned to the air field, Bob Hoover walked over to the man who had nearly caused his death and, according to the California Fullerton News-Tribune, said:There isnt a man alive who hasnt made a mistake. But Im positive youll never make this mistake again. Thats why I want to make sure that youre the only one to refuel my plane tomorrow. I wont let anyone else on the field touch it.
gavman 5 days ago 4 replies      
This was so nice to read. I think back to my very first coding internship after my freshman year of college when I messed up big time. I made a bad mistake that ended up forcing my supervisor to put down everything he was working on for a full afternoon and do an emergency fix. I so vividly remember sitting down in his office, trying to just calm down and keep it together. He never got upset or annoyed (at least he never showed it), instead he listened to me explain what I had done, figured out what was wrong, showed me what my mistake was, fixed everything up, and calmly walked me through the entire process, turning it into a learning experience. At the end he asked me some questions to make sure I understood everything that happened and told me "everyone makes mistakes, don't sweat it, just make sure you learn from it" and that was that. I remember leaving his office that day thinking "if I ever make it to the point where I have my own interns, I'm going to do everything I can to support them and treat them as well as he treated me." A little kindness really does go a long way!
ninjakeyboard 4 days ago 7 replies      
As software engineers:

As beginners, we're over-confident in our ability, even if we actually suck and make lots of mistakes: https://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect

The opposite seems to become true - experienced engineers (who have learned from their mistakes) seem to be extra paranoid. I've seen also older engineers that seem to be confident still, talk a bit game, but they just never learned. It seems paranoia is a great indicator of experience, and over-confidence/arrogance is an excellent indicator of a lack of learning. Not to say those are the rules, as there are certainly arrogant engineers that are excellent but I'd rather work with the softer one personally.

I know as I have grown I have become softer, not harder, as I realize my humanness.

crush_xc 5 days ago 5 replies      
This was literally the biggest issue for when I started at my first job. We had a team member who was terribly condescending and talked down to everyone but especially me. You could tell that he hated the fact that he was on a team with a junior developer and took every chance he had to made sure I knew I wasn't as good as him. It makes a terrifying environment to ask questions because who knows what kind of response you're going to get.
scraft 5 days ago 5 replies      
Nice little read. There is that little answer in the back of my head of:

"It is a good question why I caused this problem. It is weird to think there is a competent company that has been around for so many years, yet they have no procedures in place to stop this from happening. You would think that any changes that could cause downtime on a clients website would go through an automatic test suite and only after passing all tests would it be tested by human QA and finally made live. In this particular case I am the one who has made a mistake, and being a sensible person who is eager to constantly better myself, I will try and learn from this error, however I work alongside dozens of other people on my team who like me, have every chance of making a mistake at some point. It seems like a bad policy for us as a company to say that we should expect every person on the team to break a clients site and then rely on overtime from other people to fix it. So of course I will try and do better, but this is not fixing the root of the problem, the root of the problem is something that needs to be fixed at a much higher level. Have you, as my boss, not considered this problem already? What has the company learned from this? I would be happy to be part of the team that solves this problem by creating unit tests and creating policy to avoid this."

Of course I purposely make this slightly stand-off-ish, over the top, and written from a very specific perspective, to illustrate a point. But the reason I do this is I absolutely agree a single developer shouldn't feel bad about making a mistake (they should try not to, but these things happen), but the company should put measures in place to minimise the impact of mistakes. When the company fails to do this, the company has screwed up a lot more than the developer.

_joel 5 days ago 2 replies      
One way to avoid Friday deployment issues is to go to the pub. Obviously you need to spend all afternoon there and not be tempted to go back and deploy, otherwise issues may be compounded! It seems to be a common mitigation technique in some shops I've worked at ;)
auganov 5 days ago 2 replies      
The reverse takeaway is perhaps even more valuable. Most are not going to be as angry as you expect them to be. When you mess up don't hesitate to tell people, it's going to be okay.
mrits 5 days ago 4 replies      
I hope Kevin learned not to let a junior dev deploy to production on Friday.
happyslobro 5 days ago 2 replies      
Mentoring is hard. It makes me question everything that I know, and worry about what this guy's code will look like in a year if I criticise this, or praise that. I wish there was some way we could all just work together, for real, in real time.

I miss construction. Back then, I could just tell someone "Hey! You! Don't fuck that up, I'm pouring concrete around it tomorrow!" And we would still be cool at lunch break.

throwaway7767 5 days ago 0 replies      
Most of my career I've been the guy people come to when they get stuck and need a second pair of eyes or just advice. I enjoy it, we all have to start somewhere. For the most part this has been considered a positive by my bosses, because they see the value this creates even if it's not technically my core job.

I did however once work at a company that was very metric-focused. Turns out that the metric they used for our team was closed tickets, and they felt that given my salary I didn't close enough of them. No understanding whatsoever that others on the team were able to close more tickets because of my help (let alone that the tickets that made their way to me tended to be the complicated ones that others couldn't solve). After the first talking to, I stopped helping out my teammembers (I explained why) - and jumped on the first opportunity to get out of there.

sideproject 5 days ago 2 replies      
I run a number of side project sites and I do much of my work late at night.

I have one simple rule for myself - which is to never deploy anything at night before I go to bed. I've made several critical mistakes which I deployed to production and then went to bed only to wake up and find out that users couldn't use my products.

Thesedays, I do all deployment in the morning - that way, even if there is a critical bug, I am awake to catch it and fix it quickly.

euske 4 days ago 2 replies      
This reminds me of a similar story about being nice. It has nothing to do with software development but I want to share this anyway.

I was in Seattle and I took a public bus. The fee was $1. It was my second day in the US and I didn't have a dollar bill in my wallet (nor a transit card). I was assuming that I can pay with a larger bill just like Japan. Big mistake. The driver yelled at me but nonetheless she let me ride for one time. Then the guy sitting next to me suddenly offered a dollar bill and said "take this, so that you can pay for it by yourself." I probably looked at his face with amazement. "Thank you very much, sir." The guy got off the bus in a few stops later and I never had a chance to say this, but I know it's my turn now. I want to thank the nameless person who slightly changed me. Kindness is contagious.

LukeB_UK 5 days ago 0 replies      
I wish my first development job was like this place. Instead there was a blame culture and I'd get told off when I made mistakes, eventually getting fired for not progressing quick enough.

It's now 4 years since I was fired from that job and I'm still in development, despite that incident nearly causing me to decide it wasn't for me.

I was extremely happy to read this post, it gives me hope. I try and take a similar approach when working with newer developers, or those that are inexperienced in areas.

jroseattle 4 days ago 0 replies      
This is underrated for managers and leaders trying to develop young talent. The takeaways:

 - With a system outage, don't lose your cool. Rationality is what's needed at the time. - Elevating "perfection" at the expense of potential breakage will ensure nothing ever moves forward and your team doesn't grow.
Some might believe that a serious ass-chewing is needed in this scenario; that would be a decision that's simple, quick and stupid. An emotionally-charged ass-chewing is almost always a sign of weakness in the ass-chewer. The only thing anyone ever learned about a beating is how to avoid it in the future.

Instead, this manager leaves his engineer with thoughts about how to avoid that problem in the future. Always remember -- an outage is eventually fixed, but a damaged relationship continues forward.

randartie 4 days ago 0 replies      
Seems like this story is being received pretty well here.

Though, in my opinion I think it's kind of insulting to be asked something like "What did you learn?". The question isn't really necessary. You know that you screwed up.

That kind of dynamic between an engineer and a team lead is off-putting to me.

I think the proper way for a team lead to handle it is to instead work with the engineer to help find ways to eliminate the human error by implementing tooling or processes. The conversation should go something like this:

Lead: "I wonder how we can make sure none of us break XYZ widget again"

Engineer: "We can build out ABC and run that, also generally just test better before pushing to prod".

Lead: "Cool, do you want to go ahead and take care of that?"

makecheck 5 days ago 0 replies      
I have found that difficult people are a function of both themselves and the environment theyre in, and you cant necessarily say be kind without fixing the 2nd part.

The level of stress matters a lot. If a team is being run in a standard everyday crisis mode, they quickly reach the point where there is very little they can take. Every tiny mistake wears people down, reminding them of how much more there is to do, and turning them sour. Managers seem to panic and cut into their teams time even more by starting to have long, daily meetings to fix things.

If you want nice people, you have to set them up for success. Reward completing the whole chain, not just hacking away (e.g. for software, not just coding but also testing, documentation, and seeking peer review). Keep meetings to a minimum. No overtime. When short-cuts were taken to meet hard deadlines, open up your schedule and scribble in the exact window after the deadline where you will stop everything and clean up the mess that the short-cut created. Give your people the best equipment that money can buy. And so on.

mijustin 5 days ago 1 reply      
This statement wraps it up:

Great. It sounds like you get it. I know that you can do better.

Giving folks a chance to communicate what they learned, and then encouraging them to "do better," is the best way to lead.

bluetwo 4 days ago 0 replies      
I've worked with dozens of companies of various sizes over my career, and I've always found that this type of attitude starts at the top of the company. If managers are kind, curious, and tolerant of risks that might reap rewards, it is an indication the person at the top is running it that way.

If people are "blame-first, ask questions later" types, the person at the top is inevitably running the show by focusing on mistakes and miss-steps and their people follow suit. As result, people become wary of taking risk and run to assign blame, even before existence of an issue can be validated.

As a result, I don't think you can change these organizations. If their temperament doesn't match your own, you have to live with it or craft an escape plan.

slaunchwise 5 days ago 0 replies      
Also, never deploy and go camping. Not a knock on camping. You should also not deploy and head immediately to the hospital for scheduled surgery. The point is that if you deploy, on any day, you need to be available in case something is amiss. The only advantage to deploying Mon - Thur is that you're probably going to be available anyway.
herge 5 days ago 10 replies      
I have the similar problem with code reviews. It is really hard to not sound harsh when giving a code review, especially in ones from junior developers where a whole laundry list of fixes comes out.
deedubaya 5 days ago 0 replies      
Be kind, but don't be passive either. Talk about it, be kind, but don't glaze over the learning experience.
nodesocket 4 days ago 2 replies      
I was just thinking about this today. Why is it that software engineers have a supreme mind set...

 "Oh you don't know that?" "Oh you don't know about that tool?" "Oh you use PHP?"
We categorize our peers into two buckets. One with whom you respect, and unfortunately the other as newbies, rookies, not worthy of our time and energy.

Listen, I am completely guilty of this behavior myself. Howerver, after reflecting I am going to try to be more helpful to peers. Remember that we are all constantly learning, and the knowledge and experience that you have took you time. That newbie was once you.

Finally, let's think about this in terms of rapport. If your dismissive and arrogant toward a peer when they ask a question, they are probably going to think you're a total tool and jerk. Howerver, instead if you have the knowledge and experience and show and teach them, they are going to admire and respect you. It is really the best option.

davemel37 5 days ago 1 reply      
I heard a story about Pepsi (dont recall the names), where an executive made a decisiom that lost them 10 Million dollars. The CEO called the executive into his office... The executive shuffled into the office, head down, and meekly said, I guess you called me in here to fire me." To which the CEO replied, "FIRE YOU?! I just spent $10,000,000 educating you!
bambax 4 days ago 1 reply      
> One Friday afternoon (...) [Kevin:] what did you learn? / [OP:] I talked about the need for proper QA. About thoroughly testing my changes. About taking the time to make sure the job gets done right.

Kevin sure sounds like a great guy. But there was a simpler lesson to be learned: never, ever push changes on a Friday.

chris_wot 5 days ago 1 reply      
Junior devs should also remember that whilst they might be trying to be kind, sometimes the support person you are trying to instruct probably knows more than you do.

I was a bit bemused when a young guy who had just gone into devops and sysadmin gave me a mini lecture on the importance of open source and contributing to it if you have the skills, and that I really should give it a go one day, because open content is amazing.

I didn't have the heart to tell him I'd gotten into a few of the LibreOffice release notes for work I'd done on the project. Nor did I feel like telling him I'd made significant contributions to Wikipedia. I think I sort of weakly smiled and tried to change the subject.

anateus 4 days ago 0 replies      
The virtues of being nice are often extolled, but it's kindness that's truly valuable. You can do nothing and be "nice", but only actions can make you kind. When you strive to be kind, you'll also start noticing who around also tries to be kind and who is merely nice.
superjisan 4 days ago 0 replies      
Thanks a lot for sharing this. I've been in 3 different companies now where I learned a lot but the biggest reason I left my first job was because I was afraid to ask questions because my boss did not know how to respond to a simple question without being snarky or rude.I learned a lot from that job but I knew that I wanted to be in a better environment and I am thankful that I made that decision. Working in an environment where everyone is encouraged after making mistakes and learn from it is where I want to work for.
realkitkat 4 days ago 0 replies      
#FirstJobsMatter! Based on my subjective, statistically unsound observations, when it comes to bad, obnoxious, and intimidating work place behavior there are people who cannot be helped and are equal opportunity offenders, and then the vast majority who appear to have picked up poor behavioral habits from their old bosses, peers and companies that they were unlucky to be associated with early on in their careers. I would assert that very few of us are resilient enough to truly differentiate between good or bad workplace behavior [in an early stages] of our careers - especially when you scored a job in one of the many respected companies with a track record of success. No matter how toxic the culture - it must be right since company is doing good, right? And then as we move forward in our careers we take these learnings with us. As a recent observation, this seems to apply to all phases of peoples careers where I witnessed an outstanding R&D manager / director turned into monstrous VP, who in reflection is just putting into action same management practices that were used by a pre-acquisition start up CEO he used to work for. And then of course there are those golden people that really make it worthwhile to come to the office and that you just love working with/for - sort of like the project lead described in the story here.
weaksauce 5 days ago 0 replies      
Also, don't ship on a Friday unless you expect to work on Saturday.
binalpatel 5 days ago 0 replies      
Situations like this really let you know the true merit of your leadership.

I had a similar situation - where alerts based on bad data went out to customers, and hundreds of customer support tickets started flooding in. The VP, Director, and my manager all came to my desk.

Instead of chewing me out, or telling me how much I had messed up, they calmly figured out the issue, told me that mistakes happen, and thanked me for helping them figure out how unreliable the underlying data we were using was.

justin_oaks 5 days ago 2 replies      
Junior developers who make a mistake? Cut them some slack and teach them.

Senior developers who make the same mistakes over and over and never learn? I've kindly pointed out the mistake and invited them to avoid it in future. After a few more failures, I sometimes talk to them sternly, but the sad thing is that they won't learn from either kindness or harshness. I'm not in a position to fire them. Does anyone have an idea better than "Just suck it up?"

karenho12 4 days ago 0 replies      
I have witnessed the same thing at my current startup and this is the reason why I excel at my job and why my coworkers are some of my dearest friends. It is this sense of camaraderie that brings people together. We've all been through a lot, late nights of frantically pulling together an entire feature, reading scores of hibernate exceptions, debugging through IE bugs and jumping to help another developer with no questions asked. It is this through this journey that I learned how to provide safety nets for my junior developers and find ways to lead them to success just like my predecessors have done for me.

This is why I love being a developer.

mysterpaul 4 days ago 0 replies      
This demonstrates two principles from "How to Win Friends and Influence People":

- Don't criticize, condemn, or complain.- If you're wrong, admit it quickly and emphatically.

There are many good anecdotes like this in the book, including endymi0n's example.

fairpx 5 days ago 0 replies      
Life happens. Being kind shouldn't just be restricted to junior devs, or even just devs for that matter. I've seen many folks be flatout mean and unrealistic to adult freelance developers from low-income-countries. It's a serious problem.
gautamdivgi 5 days ago 0 replies      
Great anecdote. We've all done it. Another thing I learned really early on - never deploy code on a Friday. Especially not Friday afternoon/evening. And definitely not if you're leaving for the weekend :)
heisenbit 4 days ago 0 replies      
I think there are few professions where people screw up a little bit (sometimes literally) and it gets logged, measured and escalated so frequently than in SW.

Computers are unforgiving. Humans err. This really needs to be at the forefront when selecting personal - developers and managers. The answer can't be all forgiving. It can't be you are fired. And it probably should not be ad-hoc all the time. Company values matter if they are lived by.

zavulon 5 days ago 0 replies      
I had a similar experience when I first started as a junior engineer at a financial company. By accident, I dropped a database in production... immediately, people found out and the head of production support came to me and said "This is strike 1".

Terrified, I ran to a senior engineer, who calmly and efficiently proceeded to restore everything in a few minutes. The only thing he said to me was "happens to everyone, don't worry about it, just be more careful next time."

I was extremely thankful and a LOT more careful next time, and each time after that.

lewisl9029 4 days ago 0 replies      
This reminds me of one of my favorite blog posts: https://circleci.com/blog/kindness-is-underrated/

> The choice to be kind can be hard, especially when youre frustrated or when, thanks to your gifts, you know that someone has made the sort of error you could easily have avoided. Its easier to be direct; to not concern yourself too heavily with the emotions of others; to want to be unequivocal in your rejection.

Being kind is hard, and being an asshole is easy. People have a natural tendency gravitate towards the easy choice, the path of least resistance. Making the more difficult choice to be kind takes time, effort, and lots of empathy, but I firmly believe what you get in return is worth all that.

By being kind, you help create a more trusting, inclusive, and generally more pleasant atmosphere for you and your team to work and grow in. People also tend to respond to kindness in kind (bad pun intended, sorry!), and kind people tend to prefer working with other kind people, so in many ways kindness literally begets more kindness. Being an asshole also comes with similar feedback loops, but I know which one I want working for my team!

Disclaimer: I'm working at CircleCI now. :)

Sire 1 day ago 0 replies      
"Blame is not for failure, it is for failing to help or ask for help."It changes everything. Usually attributed to the CEO of The Lego Group, Jorgen Vig Knudstorp.
mikeleeorg 4 days ago 0 replies      
The best teams and organizations are the ones that are constantly learning, and foster an environment that encourages and supports that.

And, can take those lessons learned, and establish practices to help prevent and minimize such mistakes in the future.

I've seen lots of teams totally embrace the first, but inexplicably, don't follow through with the second step. They go through the motions of "learning" without actually learning.

d--b 5 days ago 3 replies      
Is that so uncommon? I mean, maybe I've been particularly lucky in my career but that sounds like standard behavior to me. I mean you already feel bad enough for blewing it that it's no use to add some more to it. And as the article says it happens literally to every one of us at some point. So unless your boss is a genuine bag, that's the expected way they should react
GigabyteCoin 4 days ago 2 replies      
All this talk about being kind (or staying calm) in tense situations reminds me of this video I caught on reddit last year. [0]

There is a dash-cam filming the inside cockpit of a plane when the pilot abruptly finds himself in one of those "death spirals" or "flat spins".

The pilot doesn't say a word.

He immediately reverts to his training, rights the plane, glides it towards the ground, and only grunts a bit when he crash-lands.

I found that absolutely amazing. To have that level of poise when you are literally facing death is unbelievable.

It is very similar to the simple advice given in the linked blog post.

Staying calm in difficult situations is the most efficient course of action.

Stressing out, raising your voice, yelling about things, or blaming others isn't going to do a damned thing when your plane is literally spinning out of control and going to kill you in a few minutes.

[0] https://www.youtube.com/watch?v=bvbS-oHi9ro

dbg31415 5 days ago 0 replies      
While it's nice that we know that the protagonist is agonizing over his mistake, in reality, that's not often the case.

Since I don't have insight into their heads, and I can't tell if something was a sloppy mistake because they were inexperienced, or a sloppy mistake because they were trying to get out the door to a camping trip and prioritized their personal life over the team or client.

Clear example of why it's bad to deploy on Fridays, why it's bad to have single-person deployments, why it's bad to leave your laptop at home, etc.

But how would the kindly Senior know the Junior dev just made a mistake vs. was a fuckup and was thinking, "I don't give a shit, Senior will catch it and I just want to be on a beach now. Fuck it, I'm 'done' -- now to just sneak out and put my phone in the glove compartment for the next 3 hours while this blows over..."

The answer is he wouldn't.

So here's the other issue. Let's say I trust one person more than another. And Junior A -- who I believe to be a superior talent -- gets the benefit of the doubt, but Junior B gets scolded.

Now let's say there's even the slightest difference in hair length or eye color between A and B... and presto that's an HR discrimination complaint I now have to deal with. As it turns out, Juniors don't have insight into the minds of Seniors either.

So, some good advice... Be humble, do what you can to not make things worse for others, set up good practices that let everyone thrive (the best way you can do this is to avoid failure opportunities -- i.e. don't deploy on Fridays), and do what you can to treat everyone fairly and equally based on perceived actions and offenses.

We can't know what goes on in someone's head.

JohannesH 4 days ago 0 replies      
Also as a senior developer you carry some of the responsibility for the junior's ability to make that mistake. You probably set up and maintained the development environment where such an error could slip through into production.

So in case of a critical error/melt-down you should first of all blame yourself and think about why you set up a process and an environment that let this happen in the first place.

Think about what went wrong and how you can prevent it from happening again. When I started at my current place of work, they had a horrible manual deployment process that was the cause of 99% of all problems they experienced. Rarely critical problems, but still annoying and unprofessional. So we implemented automated build, test and deployment process that got rid of almost all of these problems.

Now, whenever something bad happens, we realize it is a problem with the process (not the individual) and correct/improve it as needed.

mavsman 1 day ago 0 replies      
I have wept in the nightFor the shortness of sightThat to somebodys need made me blind;But I never have yetFelt a tinge of regretFor being a little too kind.
isuraed 4 days ago 2 replies      
This reminds of important lessons I've learned from the classic How to Win Friends and Influence People - never ever criticize people and you will get the best out of them. There are countless other great lessons in this book about being a leader and dealing with people.
muse900 5 days ago 0 replies      
When I started of as a junior developer it was in a team of 3. 2 Senior developers and me.

One of them was really kind and a nice guy that was getting along with everyone else in the office (other teams etc). Also he was a very good dev. Nice personal projects, knew what he was talking about, humble and hardworking.

The other developer was aweful. He was slacking a lot, all day on facebook and doing his personal home-owned business over his actual work, not caring to help me at all on any request. We didn't get along, and at first I thought it was my own issue. Later on I realized and having a talk with my manager that noone really was getting along with him.At some point he thought it was a great idea to make an education session, I was like ok he is putting time into it. He then proceedeed telling me that he is gonna teach me the very basics of programming as "we" didnt go to uni, I told him I went to uni and I finished with a Distinction but sure he could tell me whatever. He was trying to teach me things he didnt even understand and I was taught about them at uni. (I understand this is a basic mistake junior devs make think that they know it all, this wasn't the case here, he was trying to teach me some basic CS concepts, I went to uni for it he never went to Uni for it, he was just a programmer, nor he had the interest or hobby to go more intellectual on the matter) This lead me into not trusting him at all, in anything, while the other developer was really kind and he let me on his own to understand that he was a really good developer and I should listen to him.

A year later my performance was really good in the yes of the company, I was producing a lot of stuff etc. The developer that didn't like me was clearly angry at me. He was producing things that could be done in a week in like 3 months. Well long story sort, the company wanted to fire him, although it wasn't very viable at that moment as they would have to pay him cause he was with them for a very long time, so they started a formal process against him by keeping schedule giving him a formal warning etc. He improved etc.

I stayed at the company till I became a developer and a year after. I was working alone on mobile apps, and I remember having a chat about an issue I had for the app and some ios apis and how I tackled it and I remember that dev still trying to tell me what to do and how although he never ever working in a mobile app in his life or any experience in that field whatsoever.

Anyways, please don't be like the 2nd developer, be nice and let junior developers believe in you and understand your actual skills and capacity on their own. You don't need to brag or try to showoff because you might end up making them not trusting you.

binarymax 5 days ago 0 replies      
I'm re-reading Peopleware this week, and this is one of the core points it makes. You need to give the team the flexibility to make mistakes. I'm not sure I've ever met a manager who has read that book and disagrees with that principle.
dudul 5 days ago 0 replies      
While I fully appreciate the point of the post, the junior dev didn't screw up. The team screwed up for not having a process and practices designed to avoid these mistakes. Unless they do have those, and Brian decided to ignore them.
ummahusla 5 days ago 0 replies      
101: Never deploy on Fridays.
pwenzel 4 days ago 0 replies      
> Its okay, he replied. Weve all done it. He paused for a moment. But what did you learn?

Don't deploy to production on Friday! Queue it up in staging for Monday morning. Make a team policy for it!

kinow 4 days ago 0 replies      
Had similar experiences in my first job with one of the smartest engineers I ever worked with (Claudio Marcio da Silveira). He early-retired to work on his family business (something related to flowers). But I can still remember all the times he let me learn by doing small mistakes, covered my bigger mistakes, and also educated me.

Trying to become that same engineer in my own way, but I definitely own a lot to him. And to other professors from uni/school that were extremely kind as well.

narrator 4 days ago 0 replies      
This is the Kaizen/Deming principle #8 of "Drive Out Fear". Here's a good in depth blog article about this as it's a difficult to explain topic that, especially for managers trained in the older methods of management, deserves a long form treatment:


GordonS 4 days ago 0 replies      
Wow, this really resonates with me.

The very first day of my first 'proper' job, I made a total mess of something that cost the company around $5000. But my manager was like 'don't worry, we'll sort it, just learn to ask if you don't know how to do something'.

Many years on and I lead a development team. Now I always try my best to 'be kind', to coach and mentor, and it almost always pays back.

That one guy's kindness had a lasting impact.

SadWebDeveloper 4 days ago 1 reply      
> Jr Dev

> Access to production

> With clients that need the service running 24/7

Oh boy... is he used to work on facebook? when i was a jr dev, i didn't have access to production everything went to source control and then tested by my project technical leader and qa.This ensure that i won't do this things since my changes getting reviewed and tested plus we have reproducible builds that anyone can verify and continue working.

Case in point: No JR Dev ever need access to production ever, period.

carlmungz 5 days ago 0 replies      
Good to know there are people looking out for junior devs :-)
throw2016 4 days ago 0 replies      
Cmon. An article about kindness as top post on HN. This is taking the piss. This is a place that specializes in snark and dismissive discourse.

Everyone is a peacock here. The bumbling programmer should thank his stars his boss does not appear to be the typical agitatedly infallible HN commentator or monday would be a different day.

exodust 3 days ago 0 replies      
I dont think "not getting angry" qualifies as "being kind" unless anger is the default state.

kindness doesnt automatically emerge to replace a lack of negative outcome.

"My father didnt hit me with his belt" is not kindness. "My boss didnt fire me" is not kindness.

SloughFeg 5 days ago 0 replies      
The hardest thing for me when I was junior dev was simply being noticed. I'd rather someone be hard on me than to pretend I don't exist.
johngalt 4 days ago 0 replies      
For actionable advice on how to be kind while still capturing the lesson. I recommend this article by John Allspaw on blameless postmortems.


vilius 4 days ago 1 reply      
This advice is obvious. How can you not be kind with a junior person that makes a junior mistake? It's human. An angry phone call would not have made any difference (except damaging the relationship). But what if Brian deployed on Friday night without testing 4 times in two years? And 3 times it caused trouble for the business. How do you stay kind then?
scelerat 3 days ago 0 replies      
"One Friday afternoon, [...] I deployed the changes"

Good god, this should be taught in high school.

partisan 5 days ago 0 replies      
A mistake is an education. If you fire someone after they make a mistake then you are throwing away your investment in their growth.
drawkbox 4 days ago 0 replies      
The mistake was launching something on a Friday before vacation. Wed or Thursday would solve this. Launching on Mondays or Fridays, not a good idea.

So that is another lesson learned in addition to being cool when someone messes up once in a while. In ego driven teams sometimes it turns into the blame game and throwing under the bus, that is not kind.

hyperpallium 4 days ago 0 replies      
proggit has a better title: [Mentoring Junior Devs: Be Kind](https://www.reddit.com/r/programming/comments/57g3x7/mentori...)
jasonkostempski 4 days ago 0 replies      
Maybe im just lucky but this is generally how any manger I've ever had normally would have handled the situation. Not every single time, of course, since they were all humans and got frustrated sometimes, especially after a few of these in a row, but for the most part, they weren't dicks.
partycoder 4 days ago 0 replies      
I have seen people that react positively to feedback.

But some people take things very personally, even if you try to be very polite and respectful.

Sometimes people, especially people with narcissist traits or people obsessed with rank, will not accept any feedback coming from a someone from a "lower rank".

johnwheeler 4 days ago 0 replies      
If someone asked, "what I'd learned" in the above context, I'd assume it was more to satisfy their needs of feeling important and superior than genuinely caring.

Much better is: "Shit happens." That's an empathetic attitude that reflects experience in our field.

odammit 5 days ago 2 replies      
My first job was at an aerospace company in Florida. My boss was so nice.

I was really surprised to get the coveted desk in the 60 server room. Coming in off those 90 100% humidity streets to put on a parka and sit at my workstation wearing fingerless gloves.

Man, anybody should be so lucky to apprentice with that guy.

kornakiewicz 5 days ago 0 replies      
Well, this rule applies to basically every field of life. Most (if not all) religions and moral systems have rules that say to respect the others and be kind, even if they are not as we want them to be. But I'm not surprised that it's rediscovered over and over.
orangepenguin 4 days ago 0 replies      
I thought this article was fantastic. We could use more kindness at home, at work, and in general.

I find it really unfortunate when an engineer is fired because of a mistake. All the company is really doing is giving a more experienced engineer to someone else.

kelvin0 2 days ago 0 replies      
> Its okay, he replied. Weve all done it. He paused for a moment. But what did you learn?

Never push changes on a Friday PM. Ever.

SadWebDeveloper 4 days ago 0 replies      
Personally i prefer the type of mentor/boss that comes and says things straight, surgarcoating everything isn't good once you realize that everyone could think you are stupid or well starting to find your replacement.
laxentasken 5 days ago 0 replies      
Stuff like this always boggles my mind - anyone can mess up. Mistakes happen, but if you didnt learn from it, history will repeat itself. I can't help to feel that common sense is sometimes lacking.. Why is that?
AlphaWeaver 2 days ago 0 replies      
Right now, this post is 4 votes away from being in the top 10 most popular HN posts of all time.
hobbitdeveloper 3 days ago 0 replies      
Can't believe you could get fired for something like that. Do you work for an American company or something? Jeeze...
arc_of_descent 5 days ago 0 replies      
Be kind, but also be honest.
esafwan 4 days ago 0 replies      
Being founder of a startup, I often get into position as this. I think there is alot for founders too to learn form this small story. Thanks for sharing.
jxramos 4 days ago 0 replies      
The key sentence:"Kevin gave me the space to screw up, as long as I learned from it."I like that concept of space to screw up. I definitely recognize the need for that.
oldtech 4 days ago 0 replies      
I only had to rad the first three words "One Friday afternoon". I learned early that I was doing everyone a favour if no updates went out on Friday afternoon.
ronreiter 4 days ago 0 replies      
From my experience as a manager, being kind works very well. This is especially important in the stressful start-up world where tensions are high anyways.
mohsinr 5 days ago 0 replies      
I really liked that article was short and to the point!
JulienRbrt 5 days ago 1 reply      
> I walked into the office certain I was about to be fired.Wait, can you be fired that easily ?
mindfulgeek 4 days ago 0 replies      
Every child should be so lucky to have this experience as well. Empathy goes a long way.
shafiul 3 days ago 0 replies      
Very good advice. Your good deed rewards you over time.
ing33k 4 days ago 1 reply      
Simple but highly effective writing . How can I learn to write like this ?
alexmchale 4 days ago 1 reply      
poletopole 4 days ago 0 replies      
That's why I never deploy on Fridays. For me, for everyone else.
therealmarv 5 days ago 0 replies      
No. 1 rule for deployment: Don't deploy on Friday.

Let it be a deployment free day!

dcwca 5 days ago 0 replies      
This goes for everyone on your team, not just junior devs.
AdmiralAsshat 5 days ago 3 replies      
Isn't there supposed to be a code review before devs are allowed to deploy something to production?

Yeah, Brian screwed up. But the company has at least some fault for letting him get that far unchecked.

joseph8th 4 days ago 0 replies      
Don't tell me what to do. ;)
finid 5 days ago 1 reply      
arc_of_descent 3 days ago 0 replies      
Be kind. Rewind. :)
dsp0105 4 days ago 0 replies      
JustSomeNobody 5 days ago 1 reply      
We're an industry filled with people who have social disorders. Some people are just angry little people. Misspell something in a config file and they just ... go ... ballistic... It's not enough to just try and tell these people to be nice. They don't know HOW to be nice. Their brain isn't wired to be nice.

Edit: spelling.

tofupup 4 days ago 0 replies      
cmoscoso 4 days ago 0 replies      
cool story bro.
77pt77 5 days ago 5 replies      
Except in real life people sometimes make malicious "mistakes" deliberately and when caught and called out on them either completely dismiss them or even gloat.

This reads almost like a fairy tale.

coldtea 5 days ago 5 replies      
>Thats why I want to make sure that youre the only one to refuel my plane tomorrow. I wont let anyone else on the field touch it.

...he said, before his final fatal flight. Apparently some people DO do the same mistake twice.

([Edit] to avoid confusion: My addition is about giving a different twist to the story, to show that it's not a given that people who made a mistake will not be prone to repeat it. Some people seem to be extra prone in repeating certain mistakes. It's not saying Hoover actually died or anything... I mean, isn't it obvious?)

sqldba 5 days ago 1 reply      
> I talked about the need for proper QA. About thoroughly testing my changes. About taking the time to make sure the job gets done right.

Oh good, a bunch of useless platitudes.

Shame on Y Combinator marco.org
1238 points by MattBearman  1 day ago   1271 comments top 173
sctb 1 day ago 0 replies      
We've turned off user flags again for this story because the rule of HN moderation is to moderate threads less when they're critical of YC or YC-funded startups. Please be respectful of your fellow community members in the discussionsuch divisive issues are threatening and our first duty is to protect the community.
ThomPete 1 day ago  replies      
Marcos understanding of this situation is extremely telling for a fundamental problem with many americans relationship with politics. Most only get involved around election. After that their political interest is non existing.

It's easy to get lured into the idea that politics is a simple choice between the moral good and the moral bad, that the choice is simple and that there is a one to one relationship between what you vote for and what you get.

In reality however it's much more complicated. For all the crazy things Trump says, for all is egoism he has some very important points which needs to be addressed and discussed and he represents a group of people who haven't been represented for the last 40 years.A group who are themselves excluded from society. A group who experience their own form of discrimination by the likes of Marcos, me and everyone else who are benefitting from the progress of technology, globalization, taxation rules and so on.

Marcos is all about form. Trumps form is admittedly not pretty but there are some important issues and for Theil a different political goal than Trump which isn't represented by Hillary. If you can't understand that then you make the mistakes of Marco et all. You confuse rhetorics with whats at stake.

If you don't want dissent, fine just admit it. That way at least you are being honest. Don't wrap your lack of political understanding into some claim of decency.

Racism is not just racism, sexism is not just sexism. These are complicated matters by the very nature of them being about human relationships.

So don't be the very thing your object to.

And no I don't want to defend Trump or Theil but rather the fundamental principle that no matter what in a democracy everyone have the right to say and mean what they want without having to fear the repercussions. Life is complicated and it happens all the time not just around election. There are many good reasons to be against Trump or Peter Theils endorsement of him, Marcos reasons just arent any of them. They are purely superficial understanding of what's really at stake here.

webXL 22 hours ago 9 replies      
Shame on Marco. I can't stand Trump, but I also can't stand this ganging up on Thiel. I guess the fact that he's a billionaire means he can be bullied, but this political bullying has a chilling effect that leads to the lackluster choices we get for president every four years.

Thiel sees Hillary as a bigger threat to his interests than Trump. To prefer an outcome does not imply you favor all aspects of that outcome. As arrogant and simple-minded as Trump comes across, he didn't stay wealthy without delegating his authority, and there would be violence to no-end if he appointed racists and sexists to high-level positions. That egomaniac ultimately seeks admiration, and the threat of "deporting illegals" was most-likely (you never know and that's why I'm not voting for the guy) a strategy to get the nomination.

Instead of Thiel, we should be admonishing our media, which couldn't have hand-picked two more controversial figures and allowed themselves to be manipulated at every step. We should be admonishing Hillary and Trump supporters who turn a blind eye to their unethical tactics and ends justify the means mindset. The ends (aka political payback) usually just result in more corruption and more things to fix with government. We need to stop this cycle. We can start buy turning off the TV, and considering a third party.

apsec112 1 day ago 7 replies      
Posts like this play directly into Trump's hands. The entire Trump ideology is based on a belief that "real Americans" are being oppressed by a sinister "global elite". Demanding that Trump supporters be fired tells everyone that the "elites" are a) scared of Trump, b) can't win through arguments and have to resort to intimidation, and c) are a powerful, dangerous group which is hostile to average people, who need someone to protect them from this sinister force. Which is all, of course, exactly what Donald Trump wants them to believe.

Daily newspapers have endorsed Clinton by a margin of 147 to 2. It should be obvious, over a year after the Trump campaign started, that anyone voting for Trump isn't going to be dissuaded by yet another article calling him racist. Indeed, I think many Trump supporters back him because of all the articles calling him racist. "They" must be scared of Trump (the logic goes), or else "they" wouldn't spend so much effort attacking him, so Trump must be the only "truly independent" candidate who will "fight the system".

If you don't believe me, look at eg. this comment on /r/The_Donald, which was voted up to #1 on a recent Peter Thiel article:

"True story. I once hung out with a group of lesbians (most my friends are male), and when they found out I didn't agree with them politically, they told me they were taking away my dyke card. Thankfully there are a LOT of gays who give no fucks about the 'lgbtqjseflelkf community', and just live their lives like anyone else. This article is nothing more than typical democrat tactics. 'YOU'RE NOT A REAL <insert minority> UNLESS YOU DO WHAT WE SAY.' REMEMBER IF TRUMP WEREN'T A REAL THREAT, THEY WOULDN'T BE THIS DESPERATE." (emphasis in original)

The same tactics have been used against Trump over and over and over, for more than a year now, and his support is still pretty much where it was during the summer. Insanity is doing the same thing, over and over and over, and expecting different results.

brlewis 1 day ago 4 replies      
Thanks, Marco, for drawing my attention to Sam Altman's great blog post. More people should take Sam's attitude:

The way we got into a situation with Trump as a major party nominee in the first place was by not talking to people who are very different than we are. The polarization of the country into two parallel political realities is not good for any of us. We should talk to each other more, not less.

We should all feel a duty to try to understand the roughly half of the country that thinks we are severely misguided. I dont understand how 43% of the country supports Trump. But Id like to find out, because we have to include everyone in our path forward. If our best ideas are to stop talking to or fire anyone who disagrees with us, well be facing this whole situation again in 2020.

fareesh 1 day ago 5 replies      
I am not sure why endorsement of a political candidate is sometimes equated with 100% parity on every single belief of that particular candidate.

It is entirely possibly that some people support Trump because of his crass and divisive rhetoric, and it's also entirely possible that some people support Trump because of his stance on trade. Is it really anyone's place to demand that another voter change the list of priorities that determine their choice of candidate? Does that not fundamentally alter the intended functioning of the way voting in a democracy ought to work?

I am all for constructive debate on why the policies and character of one candidate makes them more suitable for holding a particular government post, but to suggest that one ought to resort to intimidation, ostracism, marginalizing and other such methods because of an individual's personal choice to prioritize a candidate's agreeable stance on one issue, over a disagreeable stance of another, seems very dangerous to me.

During his campaign, President Obama famously claimed that he felt marriage was a union that ought to be between a man and a woman. Most would consider this to be a highly regressive view, yet voted for him because he was their preferred choice on a whole lot of issues. Campaign officials like David Axelrod later revealed that he took this position publicly for political expediency. Regardless of whether this is true, if one were to suggest marginalizing Obama voters in the way that is being suggested here, I am confident that there would be very little semblance of a community left.

rhapsodic 22 hours ago 2 replies      
This exemplifies a disturbing tactic of the left, demonizing anyone who holds differing political views, attempting to turn them into social pariahs, causing them whatever harm they're able to within the law.

I happen to think that Hillary Clinton is a criminal who belongs in federal prison. I think the only reason she's not being prosecuted is that the current administration is corrupt, and views laws as weapons to be used against political opponents rather than a set of rules to be applied equally to all citizens. I am of the opinion that her "foundation" that accepted "donations" from countries that had business before the US State Department while she was running, it, is basically a money-laundering operation for bribes. I believe the woman who accused her husband of viciously and violently raping her in a hotel room was telling the truth, and I think those Democrats who are throwing fits over Trump's crude statements and sketchy allegations of his impropriety are hypocrites, considering the way they defended Bill Clinton and elevated him to the status of Elder Party Statesman after he left office.

And yet I think people should be free to publicly support Hillary Clinton's bid for POTUS without having their livelihoods come under attack.

thght 1 day ago 5 replies      
Shame on you for blaming Y Combinator. If it was 1.25 million for Clinton you would probably praise Y Combinator, no? This feels more like a clash between your personal political preferences and Mr Thiels's. You are just blaming Y Combinator to inflate this story, trying to get more people on the Clinton side. Shame on you!
adpoe 1 day ago 1 reply      
To me, these attitudes (and their general acceptance + support) are just as worrying as Donald's own attitudes and supporters.

One of the strangest things about human nature--at least that I've seen--is that when we vehemently resist something we detest we often produce its mirror image.

It's honestly extremely frightening to think that making a political donation to a major-party candidate you support could cost you your livelihood in this country. Those are not the principles America was founded on. (It's not even like McCarthyism anymore where they were persecuting a small minority party. We want to blacklist people for being __Republican__? Really?)

This is exactly how Democracy becomes eroded and one party systems emerge. And the fact that more people don't see that is quite chilling.

What's that old American saying? Something like: "I disagree with what you say, but I'll defend to the death your right to say it." That's the America I grew up in. What happened to it?

ipatriot 21 hours ago 0 replies      
I am 100% in favor of Sam Altman's decision for the following reasons: 1. Trump is offensive, racist, sexist and a terrible human being all around. I am Mexican, and I hate his guts and everything about him. However, I believe in what Voltaire once smartly said "I may not agree with what you say, but I will defend to the death your right to say it". I do not agree at all with Peter Thiel's decision to support Trump in the RNC or with money, but I defend his right to express himself. 2. Sam Altman and Paul Graham have done a lot to defeat Trump and elect Hillary as president. One of their part time partners supports Trump, that is not indicative of YC's political view. 3. Peter Thiel is a business man, and investor therefore that is what I focus on, his book which is fantastic and his work on facebook, can't judge him unfairly on everything, just because he supports Trump. He has a brilliant business mind and that is why he is a part time partner at YC and that is in the arena he should be judged.I am strongly in favor of free speech. Peter should be scrutinized and debated, not fired. Sam Altman does not deserve any nonsense because of this.
trabant00 1 day ago 0 replies      
Living through communism in an eastern european country and getting the real freedom to vote and support who we want changed everything .

And this is why I simply cannot understand this. Educated people from countries which I associate with a strong democracy are asking, no, demanding political discrimination. This is illegal in any civilized country and for obvious reasons. And they do it in the name of progress too!

I must control my impulse of getting angry and calling names, but the fact is you are ignorant spoiled children who take your freedom for granted and would trade it for simple feelings of holier than though.

jchiu1106 1 day ago 0 replies      
Shame on you, Marco Arment, for calling for someone's head because you don't like their political position. Whatever happened to the land of "I disapprove of what you say but I'll defend to death your right to say it" or "Give me freedom or give me death"? Or it is, as it turns out for you, that it's the land of the free only for people who agree with you?

I'm not a Trump supporter, but I applaud YC's decision not to sever ties with someone because of their personal opinion. And Marco Arment should feel ashamed for trying to oust people with different political opinion than his and undermine the cherished principle of freedom of speech.

ww520 1 day ago 1 reply      
This is a disgrace to punish someone just because they have different view. Kudos to Y Cominator to not cave in. Peter Thiel is free to support and donate to whoever candidate he feels strong about. If you don't like it, donate to the other candidate. Dragging it into business and people life is so Mccarthyism.
iamnothere 1 day ago 1 reply      
There are some brilliant people working in this industry whose politics I abhor. That doesn't mean that we can't, don't, or won't work well together, or even that we have to leave politics at the door. I've had some great conversations with people who I strongly disagree with politically -- frustrating, yes, but still highly interesting and worthwhile for mutual understanding.

This trend of naming, shaming, and excluding political opponents has got to end. We've been here before (even as recently as the GWB / War on Terror era), and it is absolutely toxic for an open and democratic society.

mathattack 22 hours ago 0 replies      
There's an interesting dichotomy when people talk about this election. The same folks who accuse Trump of being divisive, then demand folks break ties with all Trump supporters.

I detest Trump, but I understand a certain aspect of his followers. (I know several intelligent Trump followers. They do exist.) Their core premise is, "We want to push Reset on the crony capitalism in Washington, and if it takes a terminally flawed candidate to destroy the establishment, so be it." In this light, things like "He's never done the job before", "He's a Pervert", "He lies a bunch" don't hurt him. And when Republican leadership abandons him, it strengthens his cause. (Yes, there's racism too, but let's leave that to the side for now) Yes, Trump is reprehensible, but you can appreciate that the disaffected are rallying behind him with "Let's not have 4 more years of the rich bailing themselves out and bringing cheap competition in for our jobs."

YC can join the Facebook drama queens who unfriend people with opposing political views, but that's childish. Better to engage the opposition, and allow people to support whatever politicians they want out in the open.

kybernetyk 1 day ago 8 replies      
Why do people need to drag their personal opinions into business matters?

Demanding someone gets fire/removed just because they have a different political opinion than you is ridiculous.

jaypaulynice 1 day ago 2 replies      
I'm not a Trump supporter, but all the YC shaming is terrible. You're advocating for dictatorship where only one political view matters.

Wikipedia: "A dictatorship is a type of authoritarianism, in which politicians regulate nearly every aspect of the public and private behavior of citizens."

jondubois 23 hours ago 0 replies      
I disagree with the author of this article. If anything, this article just shows how powerful the media is and how it can influence people to have such extreme thoughts about things which they actually know very little about.

Trump is not guilty of sexual harassment - That is hearsay; media propaganda. Yes, he said nasty things, but it doesn't mean anything about his ability to do a good job as a president.

I think he is probably a rotten person, but I think everyone in politics is just as rotten anyway. To pretend that Hillary Clinton is a saint is wrong - Personally, I think that she is every bit as rotten as Trump - But she is really good at hiding/suppressing it.

Most Trump supporters don't want to vote for him because they think he is a nice person (and I'm sure that Thiel doesn't either) - They just think that he is capable of doing a great job as a president and they think that this is more important than his personality.

binaryapparatus 1 day ago 1 reply      
Non American here. Inability to even comprehend why calls to punish one person because it supports option that I don't like (that's allegedly full of ism-s) equates to me being as narrow minded as the side I am attacking... is very dangerous. Marco is not doing any favor to his favorite this way. Narrow mindedness, no matter how well packaged, stays narrow mindedness. Dragging YC in this is again just a reflection of inability to see how this looks on the outside.

As we say in this part of the world "just don't defend me any more please".

rsp1984 1 day ago 0 replies      
The number of indirections here is incredible and I'm amazed nobody has pointed it out yet. In essence the post says: Shame on YC because

- a non-employee / part time partner of YC has

- supported a presidential candidate who

- has, a decade ago, said things that (besides reflecting badly on his character)

- if realized in action

- would constitute sexual harassment

Now if it was practice at YC to sexually harass people I'd say yea, shame on YC. But this is ridiculous. If we were to accept indirect arguments like in the post then it would be equally valid to say:

- Shame on the HN community because it

- Supports a site operated by YC which

- ...

amasad 1 day ago 0 replies      
Peter Thiel's support for Trump seems instrumental and not an end-in-itself[1]. I disagree with it and think it's stupid. But if he was my business partner and told me that he had good reasons to think that the long-term utility of a Trump president outweighs the unpleasantness and negative side-effects then I would argue with him and try to talk him out of it. Thinking about it in this way, shunning him seems to be an extreme thing to do.

[1]: https://www.washingtonpost.com/opinions/peter-thiel-trump-ha...

droithomme 1 day ago 1 reply      
Are we going to talk about the election on Hacker News now? Seems most submissions deemed political have been blackholed, correct? And I think that's fine. But if we're opening the gates, lets open them wide and not just post the same garbage that can be read anywhere else.

For example, let's talk about something ignored by most of the mainstream like this excellent investigative report that came out yesterday. It concerns those Chicago riots where Sanders supporters supposedly committed violent acts and shut down the Trump speech there. Well turns out that this and many other violent acts, riots, and even possibly acts of terrorism (which is defined as violence in the furtherance of political aims, which this was), were coordinated, organized and paid for by the Clinton campaign itself, all nicely documented with proof in federal disclosure forms showing that the violent rioters were paid Clinton operatives.


I voted for Sanders in the primary. I'm voting for Stein in a few weeks. I don't really appreciate politicians hiring people to commit acts of political terrorism and blaming it on Sanders supporters like myself.

So let's talk about this since we are going to talk about politics on HN now.

hoodoof 1 day ago 2 replies      
I'm no Trumpist and no fan of Thiel, but I believe anyone can place their vote where-ever they want.

I may not agree with him but I would fight to the end for his right to vote for Trump if he wants.

dibstern 23 hours ago 0 replies      
Hi Marco.

I disagree with you for a couple reasons.

(1) Seek to understand, then seek to be understood.If we want to eliminate misguided beliefs, convince anyone who thinks sexual assault and racism is okay, etc., you need to first understand them, and have them feel as though they are understood. It's a basic rule of effective communication. No one will listen to your criticisms of their arguments if they are not convinced that you have understood what they are saying and show empathy towards their position. So, a dialogue wherein all parties work together to develop shared understandings will be far more effective than the demonisation of a section of society.

(2) Supporting Trump doesn't necessarily mean Peter supports Trump's more bigoted and/or inappropriate views. This is Peter Thiel we're talking about. Peter gets excited by thinking differently to other people. If thinking differently were a sex act, it would be Peter's fetish. Peter would support a candidate only if he believes it's what the country needs to help bring back a time of growth and optimism that he thinks has been lost long ago (see: Zero to One). Now, remember, just because Peter believes something, doesn't mean that it's right (see: Clarium Capital).

So, it is my view that Sam is right in supporting the sharing of vastly different ideas, views and understandings. Thiel hasn't specifically supported any of Trump's shameful views, as you aptly describe them, so his only 'crime' is to believe that a protectionist moron (he'll perceive him differently) can do anything positive for the country - a belief that might be mistaken, but is by no means a crime or something to cause shame.

Stop demonising Trump supporters. You'll never convince idiots of anything by addressing them as such.

_hao 1 day ago 10 replies      
You Americans (at least I think the majority of you are Americans) are getting quite ridiculous arguing over this.

Supporting a political candidate is a personal choice, one that is given to every eligible individual in a democratic state. Calling for someone to be fired or sever ties with them over political choice is retarded and counter-productive.

bobjordan 1 day ago 4 replies      
Conservatives have a right to their own set of values, like anti-abortion, faith-based education issues, smaller government, reduced taxes, etc., and they have a right to back whatever candidate aligns with their values. I'm a liberal but it is amazing to me to read these types of articles, from other liberals with zero tolerance for the alternative viewpoint. There should not even be a decision to be made here. It takes all kinds of people or else it would not be America. It is not acceptable to persecute people based on their political choices.
jacquesm 20 hours ago 0 replies      
Altman has it right, as much as Trump is reprehensible what candidate the partners of YC support has no bearing on whether or not a business relationship should be broken up. Politics are a private matter, just as religion, your sexuality, who you choose as a significant other and so on.

Thiel has had the guts to publicly come out in support for one of two very reprehensible candidates, one who I would be happy not to see become president of the most powerful country in the world (privately I wonder if these two are really the best people America could come up with to lead the country but that's another matter). At the same time I'm not so conceited that I would call for others to dissociate themselves from a working relationship with Peter Thiel though I will happily dissociate myself from him (easy for me to say, I have no business dealings with Peter Thiel, so probably I should say 'would').

Freedom is all about how you live your life, not about telling others how they should live theirs and what they should and should not do and even if I would be happy to see Altman (and by extention YC) dissociate himself from Peter Thiel I would not stoop to the point of asking or demanding of him that he do so, it's his life, his business and any kind of cognitive dissonance between what he sees as a serious threat to America as we know it today/continued association with a supporter of that threat is entirely his own.

I've always had a real problem with people telling others how they should live their lives, decide for yourself what you want and leave other people out of it.

People telling other people how they should live is why there is religious persecution, why LGBT people can't marry and why political dissent is repressed in many places. This behavior has no place in an advanced society. Peter Thiel should be free to support whichever candidate he feels like and Sam Altman should be free to associate himself and YC with Peter Thiel.

sosodaft 1 day ago 2 replies      
from: http://slatestarcodex.com/2014/03/08/the-slate-star-codex-po...

2. The anchor of a major news network donates lots of money to organizations fighting against gay marriage, and in his spare time he writes editorials arguing that homosexuals are weakening the moral fabric of the country. The news network decides they disagree with this kind of behavior and fire the anchor.

a) This is acceptable; the news network is acting within their rights and according to their principles

b) This is outrageous; people should be judged on the quality of their work and not their political beliefs

12. The principal of a private school is a member of Planned Parenthood and, off-duty, speaks out about contraception and the morning after pill. The board of the private school decides this is inappropriate given the schools commitment to abstinence and moral education and asks the principal to stop these speaking engagements or step down from his position.

a) The school board is acting within its rights; they can insist on a principal who shares their values

b) The school board should back off; its none of their business what he does in his free time

If you answer these questions differently, you need to try to apply your so-called principles consistently. This article is bullshit for the same reason the Brendan Eich affair was bullshit--if the situation were reversed, the same people calling for Brendan Eich's head would have been ardently defending someone who had been fired for donating to marijuana legalization or something. As long as he's not discriminating or smoking weed in the workplace, etc., YOU SHOULD NOT PERSECUTE SOMEONE FOR HIS BELIEFS or how they affect his political contributions.

shruubi 17 hours ago 0 replies      
This kind of thinking is why even as a heavily left-leaning person, I have a real problem with the current attitude of the social-justice movement.

I believe Sam is right, Trump is a reprehensible person who has done horrific things and has no right being president. But just because I find him and a large majority of his supporters as ignorant, racist, homophobic and hate-filled people doesn't mean I have any right to exclude or excommunicate them just for their beliefs.

It sets a dangerous precedent to work towards silencing and vilifying a party whom you disagree with, and while it seems fine when from your point of view it is for the greater good, what happens when someone who works to silence and vilify you claims it is for the greater good?

On top of which, it makes us no better than the ultra-conservative isolationists to vilify and excommunicate based upon belief. Don't believe me? Just look at the language and justification used by Trump and his supporters and compare it to the language that we left-leaning use against Trump and his supporters.

A true democracy means every person, no matter how repugnant, gets their voice heard. A truly diverse community means that all people, no matter their race, sexual orientation or their political beliefs deserve to be heard. And a truly free society allows for the free exchange of ideas and beliefs, what defines us as people is our ability to recognize what is morally right or wrong in those ideas and rather than vilify, try to educate.

projectileboy 1 day ago 1 reply      
Replace "Thiel" with "communism" and much of this article (and many of these comments) could be taken from the 1950s. McCarthyism is unacceptable from the right or the left.
meira 1 day ago 2 replies      
So Trump has a lot of problems, but it looks like he is not corrupt. Hillary, on the other hand, is fully with corruption. I really don't like/agree with YC priorities (I'm not an American, which is even more disturbing to see someone that laughs about killing others country president been endorsed/elected)
cabalamat 23 hours ago 2 replies      
There are two separate questions here:

Q1. Is Trump a spectacularly bad candidate, i.e. would he turn the USA intor a dictatorship, start a nuclear war, or do somethnig else equally damaging to society?

Q2. If Y Combinator shunned Thiel for supporting Trump, would that make a Trump presidency less likely?

If the answer to Q2 is no, as I suspect it is, then it doesn't much matter what the answer to Q1 is.

If we end up with a culture where people are shunned or lose their jobs for their political beliefs (e.g. Brendan Eich) or for who they associate with, that can only coarsen political debatre in the USA, in the long term making it more likely that it does become a dictatorship, something the people doing the shunning want to avoid.

zobzu 23 hours ago 0 replies      
The people manipulation machine is so well tuned. The internet has failed us.

People think hating trump supporters is the cool thing to do and probably would put their life on the line against him. How crazy is that?

No longer is one even attempting to respect or even research another point of view. No time for that. Don't you realize that the only goal is to divide the people and remove focus from what actually matters?

The whole US politics is now about showing how the other candidate character is the most horrible and any lie is fair game, on any side.

The owner of basically all media wins the war - and thats not exactly surprising either.

gondo 1 day ago 4 replies      
It puzzles me how come in USA people are considering only 2 candidates to chose from. At this stage it looks like people are not voting for the candidate they agree with, they are choosing the candidate they disagree with the most and then voting for the other one. This is only 1 step better than how it used to be in USSR where people had an option to chose essentially only 1 party. (sure officially there were more parties, as there are more candidates in USA, but it wasn't a real option in reality). Still far away from European democracies where each election you have multiple parties competing.
zenobit256 23 hours ago 1 reply      
I see the divide in this country growing every day.

We aren't electing a king or queen.

It's a single political position that's checked by the House and Senate.

And yet because of the media, because of the Republicans, because of the Democrats, we're no longer Americans. We're a people who are being played against each other for revenue in a popularity contest.

I've never seen people act so terribly to each other on such a normalized scale. The polarization scares me.

Divided we fall.

philjackson 1 day ago 0 replies      
Imagine working in a world where when you disagree with the way someone votes or supports a political character, you tried to get them fired. No one would have a job anymore.
_pius 1 day ago 2 replies      
In this thread and others I've seen this:

Shouldn't individuals have a right to have terrible opinions?

Of course they do. But a surprising number of free speech and free market people dont seem to understand how either works.

Individuals have a right to support white nationalists.

Individuals also have a right not to do business with those who support white nationalists.

Individuals also have the right to organize protests against those who support white nationalists.

Let's be clear: defending the right to support a white nationalist while denouncing the right to protest against one isnt courage, its sophistry.

Dan_JiuJitsu 22 hours ago 0 replies      
I for one support Y Combinator's commitment to tolerance. Tolerance is sadly lacking in today's political discourse. Like many, I find Donald Trump distasteful, but to call for the removal of an investor for supporting a candidate one disagrees with is both intolerant and small minded. A pluralistic democracy depends on both tolerance and civility for its' very existence. It's more than a little ironic to me that people critical of Donald Trump for, essentially, being intolerant are now expressing that criticism in the form of intolerance by calling for the banishment of his supporters.
giis 1 day ago 1 reply      
Removing someone from business just you have difference with their political view is wrong. Suppose lets take this next level:

- In Restaurant people refuse to serve someone because his political view is different- Will it be great?

- Theil decides to fire employee's from his business because they don't agree with his political views. - Does that sounds good?

- For example, companies like uber/airbnb decides to serve only people who agree with the political view of their founders?

fsloth 1 day ago 0 replies      
As a non-US outsider:

Would there be such a ruckus if this was about some other VC fund that bore more right-wing cultural flavors and they had a markable member who donated vast sums of money to the democrat nominee?

A rational person would not discriminate against someone because they do not support the same football club. I fail to see how this is any different.

HeavyStorm 21 hours ago 0 replies      
I'm not American. I live far away from the country and have zero influence on its politics.

However, America has a deep influence on the whole world, and, of course, it's president is very relevant for all nations in this planet. So I follow the political scenario closely.

As (hopefully) many, I'm completely against Trump. He's irresponsible, most of the ideals he spread are harmful to (my understanding of the) development of mankind, etc. I really hope that he isn't elected under any circumstances.

Still, it seems to me that Marco doesn't understand democracy, freedom of speech, belief, and a number of other values that are as important to mankind as those Trump poses a risk to. As a person should (has to) be free to vote to whomever they wish, also they are free to support that same individual.

Punishing such support is about the same as threating The Republic for supporting Clinton.

surfmike 1 day ago 2 replies      
I'm against Trump but this holier-than-thou grandstanding demanding shunning anyone who supports Trump is tiring and small-minded. It's a symptom of a society intolerant of other political beliefs. Moreover, do you think ostracizing 40% of society for their political beliefs is really going to improve our political future? It's easier to cut out people we disagree with than arguing with their beliefs (civilly).

Let's take the high road and stick to impassioned, reasoned arguments against Trump's beliefs and actions.

redthrowaway 22 hours ago 0 replies      
There seems to be this progressive instinct to claim that it's not enough for people to believe the same things I do, or support the same people I do, but instead everyone must always denounce the people I do in the ways I dictate or be shamed and boycotted. This instinct is divisive and damaging, and drives away erstwhile allies.

Posts like Pao's and this one, which are intended to enforce a progressive orthodoxy through the application of massive negative pressure, are far less effective in winning over converts than its authors suppose. A lighter touch would be far more effective.

stuffedBelly 17 hours ago 0 replies      
I wish more thinking could be put into their words when people write political posts like this. As much as I'd like to see healthy debates over presidential candidates of choice, this post is not written to facilitate conversation between two sides. Using strong moral indicators ("shame"), finger-pointing to specific influential targets (YC and Thiel) and staying on superficial rhetoric, the author deliberately wrote the post in a way to try policing over people with opposite political belief, leaving no room for argument.

If the targets were not influential or the title gave out the blog content (e.g.shame on my neighbor for being a Trump supporter), it would be treated like yet another personal rant against Trump. If the post presented comprehensive but complicated political analysis, it would loose a big chunk of the intended audiences. I applaud for Marco's ability to convey his political opinion to big audience through a simple blog post. That said, if you are used to performing critical thinking whenever you read stuff, this post is probably not for you.

This post doesn't give people much constructive material to argue over aside from fueling more potential verbal violence. The same goes for most media political pieces. They are political snacks, cheap to grab and quick to consume, but too many snacks are bad for health, in this case, bad for decision making.

KanyeBest 1 day ago 0 replies      
PG's essay "What you can't say" springs to mind:

>It seems to be a constant throughout history: In every period, people believed things that were just ridiculous, and believed them so strongly that you would have gotten in terrible trouble for saying otherwise.


jazzyk 1 day ago 1 reply      
Any form of ostracism based on someone's political views scares the hell out of me.

It constitutes an attempt to suppress political discourse and ultimately, freedom of speech.

Disappointing to see many in the tech industry not understanding this.

ghufran_syed 21 hours ago 0 replies      
I wonder if the author also thinks that YC should reject founders who support trump? Just add a little question to the application form:"Do you now, or have you ever, supported Donald Trump?" The next stage could be "Do you now, or have you ever, associated with a Trump supporter?" - "if so, please list their names here so we can keep YC pure by excluding them from YC, and pass their names to the re-education brigades"

What could possibly go wrong? :)

presidentender 1 day ago 1 reply      
Am I to understand that diversity of opinion is only acceptable when all the various diverse opinions are compatible with your morality?
retrogradeorbit 1 day ago 1 reply      
Marcos here, line many, falls for the classic myth. That change can come to America via the ballot box. That it matters who you vote for. That the election makes a difference. How many times do we need to be reminded that this isn't true? How many elections of false hope gone nowhere do we need to see?

I'll say it again as I have innumerable times before. It does not matter one bit who gets elected president.

As Emma Goldman once quipped, "If voting changed anything, they'd make it illegal."

ceterum_censeo 1 day ago 1 reply      
If Thiel donated $1.25M to the NRA, would this lead to the same calls for YC to distance themselves from Thiel? Where does this end?
calebm 23 hours ago 1 reply      
"Funding Trump, especially at this scale, represents general support of what Trump has said and done." - That's a pretty big logical leap. Would a person who supports Hillary "generally support" flippant top-secret email handling?

Let's be logical: I think we can all agree that a person can support a candidate while not supporting every word they speak or action they take.

schalab 1 day ago 0 replies      
Please dont invade this last bastion of rationality with emotional claptrap. Moral belligerence is not an argument.
lsh123 21 hours ago 0 replies      
What concerns me the most is not HRC or Trump. I will vote for neither and I don't believe that either of them will make a big difference. However a big divide in American society is the real problem. I grew up on Soviet Union and it Communist Party was the one and only ideology pushed down everyone throats. The ideology was more important than people (see for just one of many examples: https://en.wikipedia.org/wiki/Pavlik_Morozov).

With the D and R camps right now I see exactly the same - the ideology becomes more important than anything else. For example, in this discussion "support for candidate X" factor is considered more important than personal and business relationship between people. This is exactly how Communist Party wanted the people to behave. I don't like it at all.

Instead of working together, the D and R camps push supporters to the extremes. Unfortunately, if this continues then things will go really badly. I am really looking for a force/person who can unite the people instead of dividing them.

Overtonwindow 1 day ago 0 replies      
Threatening someones job, or pushing for exclusion based on their political beliefs, is a dangerous precedent. This tactic has been used to exclude people for their gender, race, and sexuality in the past. I don't care if the person working with me is a neo nazi or a hillary supporter or a Trump whack job. As long as they do their job, and dont' do anything that infringes on my ability to get my job done, I don't really care. Leave other people alone and let them believe what they want to believe.
mangeletti 1 day ago 2 replies      

The OP feels that if somebody disagrees with his political view point they should be silenced and oustered, and have their life ruined.

People like Marco are ruinous to society.

byuu 1 day ago 2 replies      
Citizens United and McCutcheon were such disasters for our democracy. Hopelessly partisan 5-4 votes from the USSC as well. No surprise given the way big money usually leans.

Corporations aren't people, and money isn't speech, no matter what five people in robes say.

The problem here isn't who Thiel supports, it's that he has the ability to throw $1,250,000 on a whim to that person. Very, very, very few people can do that.

The reason millionaires and billionaires funnel so much money into elections isn't for the hell of it. It's because they know that money buys advertising, attack ads, etc. They know it helps their side win. Because yes, there are many stupid people in this country who are easily swayed by these tactics.

Yes, we all know it's not a guarantee that the candidate with the most money wins. But wealthy people (mostly) aren't stupid: they wouldn't be spending the money if they knew it wouldn't sway any votes.

It's not about buying the election, it's about increasing their chances of winning. An analogy would be buying 1000000 raffle tickets instead of 1 like most other people get. But our entire democracy is based around the idea of one person, one vote. Allowing unlimited money into politics effectively gives vastly more votes to the wealthy.

Get the money out of politics and it's no longer an issue how big of a piece of shit Thiel is. He can like whoever he wants to and I couldn't care less. Oh shoot, I hope he doesn't see this and start bankrolling vendetta lawsuits against me now :/

rasabatino 1 day ago 0 replies      
What a load of bullshit. If an investor of a known Republican centered industry, let's say a gun manufacturer, donated 1.25M to Hillary's campaign, Marco would be saying praises of him while the people in the gun lobby would be calling for that investors head.

This election cycle has brought the worst out of everyone in the US. I regarded people like @sacca and @marcoarment in a much higher esteem before this began.

totony 23 hours ago 1 reply      
Classic american politics: shame people on their political views. Don't argue, you'd risk understanding differing views. Better off cutting all ties with them and remain in your idiotic ignorance.
Entangled 1 day ago 1 reply      
Political apartheid. We've seen it. It won't end well.

Shame on Marco.

test6554 20 hours ago 0 replies      
The moment you disagree with someone's free speech is precisely the moment when that freedom needs to be defended the most. You can disagree with the contents of the speech, but not with the freedom to express ones self.

Shame on Marco, but I'm proud he has the right to speak his mind.

adrianratnapala 1 day ago 0 replies      
Ok it's true if you cut off dealings with anyone who supports the a candidate you hate, then you are not violating any laws worth obeying, let alone the US constitution.

You are merely being a dickhead.

Do we really want to live in a world all ordinary aspects of life a reduced to a grand show of public piety, and worse, one where we compete to show our willingess to punish the heretics?

throwaway1892 2 hours ago 0 replies      
I disagree with Marco on the fact that keeping Thiel at YC is against diversity. Sam Altman is accepting to work with someone with opposite political views, which require a lot of courage.

How can you stand for diversity if you refuse to accept to work with people who have different opinions (and opposing opinions)?

k26dr 19 hours ago 0 replies      
Despite my disagreement with him, Peter Thiel has a right to hold an opinion on which candidate he supports, and the right to donate to the candidate of his choice. It's a presidential election. You can't call it a fair election if as a society, we're threatening to punish people for supporting one candidate over another.
EJTH 1 day ago 0 replies      
"Oh no, someone supports a political agenda different from mine. I'd better bring out the cannons and shame anything even remotely related to this person, because I don't agree with his political views!"
lstroud 1 hour ago 0 replies      
Irony...advocating discrimination against Trump supporters because you believe they advocate discrimination.
surfmike 1 day ago 0 replies      
I think the core of this dispute is the question: How do we deal with those we deeply disagree with? Ostracism, shunning, and preaching? Or vocally opposing their beliefs, as civilly and constructively as you can?

America is increasingly settling into two tribes who seem to believe in the first option.

lightedman 23 hours ago 1 reply      
Shame on all of you for daring to criticize a person's freedom of speech and participation.

And I'm willing to bet the majority of people posting in this thread are Americans, which makes this whole conversation even more head-shaking for me.

Not a Christian, but "pull the plank from thine own eye" seems to be the most appropriate thing to say to every last one of you here.

wang_li 22 hours ago 0 replies      
When did Jesse Jackson's Rainbow Coalition change its name to Project Include? These are the exact same extortionate tactics that Jackson and Sharpton have been peddling for decades.


grandalf 1 day ago 0 replies      
Anyone who thinks Trump is the only racist in the running for the US presidency need only watch this: https://www.youtube.com/watch?v=3gUAdAYFbIc
gdubs 21 hours ago 1 reply      
There's a stunning degree of false equivalence happening here with regard to Trump.

Trump is not Romney or McCain. It's not a left/liberal-only claim that Trump is dangerously unfit to be president. There are scores of republican national security experts who have written open letters, come out publicly against him, etc.

To claim he's just another side of a coin is absurd. This guy is out there, as we speak, dangerously fanning the conspiracy that the election will be rigged.

The decision by YC sent a signal about diversity of opinions. But, it sent other signals as well. One is that it further normalizes Trump. One can make a strong argument that of the signals YC could have sent, the latter is worse.

Where's the line? Would Trump need to literally have been a klan member for it to be okay for an organization to say, you know what, we're not going to associate with people publicly supporting this guy? Somewhere there's a line, and many of us believe it was crossed a long time ago.

The other thing is, Thiel is not going to be 'unfairly silenced' if YC were to cut ties. He's a vocal billionaire who in our current system of money and politics has a megaphone far larger than most. It's disingenuous to equate YC cutting ties with Thiel to firing an employee over their personal political beliefs. It's a privilege to serve on a board at that level, and there should be a higher moral standard.

obj-g 1 day ago 1 reply      
I don't wanna see this crap in my HN.
pdog 23 hours ago 0 replies      
I admire YC for continuing to stand up for the principle and practice of free speech.
gjolund 18 hours ago 0 replies      
Another post about purging Trump supporters from the workplace.

Is it SV that causes people to view the world in black and white?

What a surprise, one of the least inclusive industries on the planet is trying to exclude more people.

tremendo 22 hours ago 0 replies      
If Trump is your enemy, like he is mine, fight Trump. To fight and berate others for a twice-removed association is not just stupid, it's lazy, and a waste of your and everyone's time. I see 500+ comments here but no convincing anyone. Perhaps you feel impotent and that you can only shout platitudes onto deaf ears. Think harder, act smarter. Vote, and get those you can influence directly to vote. This thread right here, is not the way.
danielmorozoff 22 hours ago 0 replies      
The whole discussion brings to mind George Orwell.

'Freedom is the right to tell people what they do not want to hear.'

I believe US democracy is founded on similar notions, and underscores the necessity of this dialogue. Thank you HN for supporting this open forum.

smokedoutraider 20 hours ago 0 replies      
No shame on Marcos, Pao, and anyone else taking a this stupid stance against those who disagree with them. Supporting Trump is perfectly fine, as is supporting Clinton. Calling for the heads of those on opposing sides of the isle is what is truly disgraceful and the whole lot of you acting like petulant children are just pathetic and dangerously misguided.
crystaln 21 hours ago 0 replies      
Thiel is not supportung Trump because of Trump's racism and sexism. He is supporting Trump because of his policies and disruptive capacity. This is the difference between supporting a candidate and attributing everything a candidate does to the supporter.

Hillary Clinton is a war criminal by many standards. Should all Clinton supporters sever ties with YC?

mdotk 1 day ago 0 replies      
If Trump is elected President of the United States will the author disown the United States?
evanmoran 23 hours ago 1 reply      
It takes great bravery to allow your beliefs to affect your bottom line. Thiel has demonstrated this bravery by spending his time, money and reputation on Trump.

Now it's Altmans turn. If he truly believes that "This election is exceptional. Donald Trump represents an unprecedented threat to America", then Marco is correct that supporting Thiel is against his beliefs. Good on Marco for calling it out to us so eloquently.

Obviously, Thiel is very influential and parting ways with him would be a big deal. It's likely it would cost Altman time, money and reputation. It's possible Thiel will hold a grudge and that will have unknown ramifications that might hurt YC and others.

This is why it's brave.

Business leaders often pretend they aren't choosing a side, when they always are. Be brave Altman. We'll support you.

phlakaton 20 hours ago 0 replies      
I believe that Trump is uniquely unfit for office, more than any major presidential candidate I've seen in my lifetime.

I believe, though I cannot prove, that should Trump be elected, he stands a well better than average chance of being an existential threat to our republic. So I do not take this election lightly at all.

That being said, I believe Mr. Thiel may say has he likes and spend his money where he likes, though his choice of candidate, like for many Republican voters, disappoints me greatly. I do not believe he speaks for YC in doing so, and I do not expect YC to terminate their relationship with him for him doing so.

I see no shame in this.

DigitalSea 1 day ago 3 replies      
This is a tricky situation. While many universally agree Trump is dangerous in his opinions and viewpoints on many issues, you can't just severe ties with an investor because of their political affiliation. Thiel might be supporting a candidate with racist and bigotry views, but this is his choice. When it comes to business, you should never make things personal and I think worrying about someone's political affiliation is definitely making it personal.

Might not be the most popular opinion, but I think Sam made the right call here.

jondubois 23 hours ago 0 replies      
I see it as a good thing that Trump is so foolishly blatant - You can SEE all the filth - It's all right there in plain sight. His ego is so huge, he couldn't even censor himself if his life depended on it; he is the perfect public figure.
carapace 21 hours ago 0 replies      
When Barbara Bush and I are on the same side of this it's not a political purge, it's a matter of basic human decency. The Trump candidacy is a litmus test of basic civil sanity. Supporting it is insane.
permatech 1 day ago 2 replies      
Wouldn't this sort of behavior play into Trump's view of 'the system' being rigged against him? Shouldn't individuals have a right to have terrible opinions?
Steeeve 21 hours ago 0 replies      
Was somebody under the impression that there are no conservatives involved in funding and creating startups?

If you live in a world where you think you only have to deal with people who follow your political ideology, I feel sorry for you.

yannbe 21 hours ago 0 replies      
2 points :- Peter Thiel has a right to support trump. The common misconception is that for something to be a right it should be morally right as well. This is not the case. Having the right to do something doesn't mean it is morally right to do so.- You can support a subset of someone's ideas without agreeing to all of his ideas. For example, I think Socrates is a great guy but I don't agree with a lot of what he says.

The backlash towards Thiel is an interesting sociological phenomenon. It seems that the pressure to conform is extremely high in the tech community.

swah 21 hours ago 1 reply      
I am an outsider, but I don't understand why Wikileaks doesn't leak into CNN.com and friends in the MSM?

or something like this: https://www.youtube.com/watch?v=5IuJGHuIkzY ?

Nothing bad sticks to the democrat candidate. I'm not talking about proofs, but about headlines that get written all the time for clicks. Where are those for Hillary? Not on CNN, nytimes, etc.

Every day there is a new headline about how Trump winning would destroy the universe. Where should I read the news? Politico? Infowars?

baldfat 1 day ago 0 replies      
Character Quality often overlooked: Respectfulness. I definite it as how do we treat people we disagree with?

We lack this in society as a whole. Respectfulness

Zarath 20 hours ago 0 replies      
Man the left just excels at doublethink. "Tolerance only when we like what you say!" "A voice for the marginalized, as long as the marginalized are women and minorities!"
fixxer 1 day ago 0 replies      
Who stands to lose more if Theil were to no longer be affiliated with YC? Is YC a social endeavor with a political agenda, or a program for entrepreneurs?

If the former, might want to tell the investors. Start with John Meriwether. ;)

skoocda 19 hours ago 1 reply      
During extensive, complex discussions like these, it becomes readily apparent that while the HN/Reddit-style threaded text forum is the best format I know of, it's still woefully inadequate.

There will soon be 1000 comments on this page- none of which are merely simple thoughts. Nobody could read them all and still maintain a cohesive, holistic perspective on all the issues presented. Most of the comments themselves splinter into anecdotal tangents, and surely every comment has overlap with another comment here. But, should any comment be omitted from consideration? I think not, because every opinion presented holds unique value. We, as mere humans, just can't consider each one individually. Not at internet scale.

While it's a precarious use of ML, we really do need computational synthesis and analysis to draw trends from these discussions. We all know ML recognizes and reinforces biases- so we shouldn't be training a classifier by using HN's sentiment as a baseline. That said, we need a solution here, ideally soon. Until that happens, I won't be wasting my time dropping 2 cents into a bottomless void.

poshli 14 hours ago 0 replies      
I was one of those "I loathe your opinion but I will defend to the death your right to say it" people when it came to Trump right up until now.

He's started claiming that if he loses the election, it'll be because of voter fraud, which is indefensible.

return0 21 hours ago 0 replies      
Someone had to do it. What a delightful clickbait subject to remind people that you exist.
masterponomo 1 day ago 0 replies      
Sam Altman has already stated what Peter is allowed to say (and presumably think) as a condition of his continued association with YC. There was a recent spate of articles by and about Sam Altman, including a probing interview by his brother (presumably in lieu of a blatantly self-serving monologue by the subject). So we kind of know Sam's viewpoint and his tendency toward defining who can say and do what at YC and on HN. I would call that shameful in a public commons, but this is a private enterprise, and Sam is free to set the boundaries in Sam's world.
ume123 20 hours ago 0 replies      
Because of extreme overuse, I think that now roughly half of the country don't care about being called racist or sexist anymore. Congratulations.

In fact, in certain circumstances it's actually a pretty good evidence that something "interesting" is being said and someone is trying to silence it, like how searching for grayed out comments in HN is the first thing I do in threads like this.

jansenv 1 day ago 0 replies      
Shame on this political shaming. Not everyone has to agree with you.
metaphorm 1 day ago 0 replies      
is this a call for censorship, exclusion, and ostracism on the basis of political preferences? shame on the author.
oldmanjay 23 hours ago 0 replies      
Wag, fingers, wag, then gawp in wonder at the backfire leading to more trumps.
Dowwie 20 hours ago 0 replies      
So if I publicly attack a Y Combinator legend the HN community gets to fight about politics?

In that case, I'll just leave this debate between Hedges and Reicht for everyone here: https://www.youtube.com/watch?v=jr4cXH3Fil8

youforpresident 1 day ago 0 replies      
I don't think that a person, president or not, is to play a crucial role. Society has a dynamic in which a president is only a mirror for you to watch yourself. Perhaps the mirror show you something that you don't want to see and you can try to clean it or hide it, but that mirror just show how society is for real. I sincerely and literaly think that we should get used to watch candidates for presidency to be nuked in tv, as in a big brother show, no more secrets allowed. We should see clearly and understand deeply that we are just human animals and nothing more. A candidate for presidency should be able to show some kind of humor, witful ideas, clear thinking, some catastrophic behaviour and be able to inspire some trust. I believe that nothing more can be expected.

For those looking forward for a better future, the challenge is not in choosing your president, but in becoming your best friend.

Any of you can be the best president, I am sure of it, just awake, get up in the morning and see yourself in the mirror for real.

Edited for clarity of mind.

brandonmowat 21 hours ago 0 replies      
I would encourage people to look at the similarities between Sam's decision not to punish Thiel and this: https://www.gofundme.com/reopen-a-nc-republican-office-2ukup...
ryguytilidie 17 hours ago 0 replies      
Can someone help me follow the logic whereby its "facist" or "hypocritical" for people to find fault in someone who is supporting an admitted sexual predator and racist?
smonff 20 hours ago 0 replies      
I don't know why there is so much hype on debating if companies got sexism and racism or other oppression issues: they do have some, period. And it should be strongly improved.

If we pretend the contrary, we really have to question ourselves.

ythl 23 hours ago 1 reply      
That moment when https://xkcd.com/1357 gets taken too far and people are afraid of voicing anything but the current, popular, politically correct opinions for fear of losing their careers.
scandox 1 day ago 1 reply      
Bit off topic: does $1.25 million really seem like that much money? I mean I accept it is a huge sum of money in a normal context, but in this context (donations to political parties) is it really exceptional?

I mean I've heard of wealthy men losing multiples of that at Poker.

daveheq 20 hours ago 0 replies      
Wit so I'm supposed to be enraged because Y Combinator won't cut ties with an associate who supported a candidate some people don't like? There's no shame here. Hillary's got her own dirt too so should everyone who associates with either candidate be ashamed?

There's nothing heinous or shameful about supporting a presidential candidate; I don't want either to be President but it's ridiculous to hold Y Combinator accountable for an associate's political choice, those people expecting otherwise should be ashamed.

nothrows 20 hours ago 0 replies      
no one should be shamed or fired for their political beliefs. go fuck yourself marco.org
StudyAnimal 18 hours ago 0 replies      
I personally respect, and am thankful for the fact that people exist that have opinions that differ, even a lot, from mine. Especially on moral issues. I find it pretty immoral to have too much faith in ones moral framework. I will do business with anyone especially those with different political or other opinions than mine, they are usually more interesting conversations.
blackflame7000 17 hours ago 0 replies      
Unemployment is really going to skyrocket if we start firing people for which presidential candidate they vote for.
kartman 18 hours ago 0 replies      
I am glad Trump has run, spoken and reached this point.

We each now know and can remember going forward, if we so choose, how all the people we assign respect to acted when it mattered.

(And we should remember the actual meaningful actions with long term $ impact to the actor. Not get guiled by the arguments skillfully couching intent and rationalizing the actions).

jjawssd 20 hours ago 0 replies      
"We shouldnt start purging people for supporting the wrong political candidate. Thats not how things are done in this country."

What a crazy idea!

sytelus 18 hours ago 0 replies      
I strongly believe that businesses should stay out of politics - no matter what the rhetorics and controversies are. They are built by efforts of lot of different people and someone at the top shouldn't get to decide what is good for everybody. It's bad enough that editorial boards of major news media goes out and openly endorse political leader. That completely destroys their neutralism and ability to serve news without bias. Its equally bad that that outgoing president who is supposed to stay out of politics is now using his powerful position to change the election.

Fundamental principle of democracy is that you have to trust the people to make the right choice. If you can't then you shouldn't have democracy. The argument that the big powerful entities are expected to forcefully shut down the candidate because he/she is deemed not "normal" or morally corrupt is bad for democracy. You need to let people decide that with their vote.

So the last thing we want is businesses start firing their employees for holding different political beliefs. May be there is a red line somewhere, for example, real Nazi party coming in to existence without any pretense whatsoever. It would make sense then if POTUS, businesses and major media openly rebels against it. But outside of those extreme cases where do you draw that line is anyone's guess and convenience. Y-Combinator is doing absolutely the right thing for the current situation, IMO.

PS: I do not endorse any candidates at this point. Above statements are NOT the endorsement for Trump or anyone else. This is what I believe should be the core principles for functional democracy that allows for different opinions.

EdSharkey 17 hours ago 0 replies      
This is a free speech country. People can associate with whomever they want. Celebrate that we can say and write deplorable things to one another. Peter Thiel can do what he wants with his millions, celebrate that. You can moralize about how nuts Thiel is to do that, I celebrate you for that.

On the right, I've been told God will judge me if I don't vote Trump (not biblical - I told them where to go.) On the left, I've seen violence and vile hate directed at trumpsters.

Everyone calm down, please. It is possible for reasonable people to disagree 100% on Trump v. Clinton. Don't try to ruin people's lives or be a hater over someone's opinions. Other people have dimensions, and life is never black and white. Always be civil, just shake your head in cases like this and say, "well, I simply don't know where your head is on this one."

We can settle our disagreements at the ballot box.

Disclaimer: I'm not voting for Trump or Clinton for (in my opinion) obvious reasons, and I'm not emotional about either.

nabla9 1 day ago 0 replies      
Trump support is not free-speech, tolerance issue or diversity issue, it's political issue.

As I understand it, Thiel is one of the 10 or so part time partners in Ycombinator. He is also board member of Facebook, so shame on Facebook.

I don't think Thiel's involvement puts large shame on Y Combinator, but at the same time I don't condone political activism that tries to isolate Thiel and his money by shaming his partners. Business is not politically neutral zone.

bambax 1 day ago 1 reply      
> [Altman] If Peter said some of the things Trump says himself, he would no longer be part of Y Combinator.

In the US, at least since Citizens United, money is speech. By donating to his campaign and vocally supporting Trump, Thiel IS SAYING what Trump says.

Also, Thiel is no friend to freedom of speech or freedom of the press. That should have disqualified him earlier, even before this whole Trump affair.

echaozh 12 hours ago 1 reply      
I am not a US citizen and definitely not familiar with all its laws and rules and such. I do wonder, if one thinks endorsing Trump is punishable, shouldn't they bring up a legal case? If it is not against the law, why cannot it be done?

If Trump is a new Hitler, shouldn't there be a legal way to put him out of the election? If his campaign is legal, why all the fuss? Just don't vote for him. Isn't that exactly why you Americans hold elections?

You want democracy and elections, you got to live with the outcomes. You may get what you don't want.

defen 1 day ago 1 reply      
Maybe YC is worried that if they boot Thiel, and Trump wins, he'll be vindictive enough and powerful enough to crush YC. Like, it would be a real shame if the Attorney General started looking into Fair Housing violations by AirBnB, or if Dropbox suddenly lost the government connections it's been cultivating by putting Condi Rice on their board.
sk5t 20 hours ago 0 replies      
According to the USSC, money in politics is speech. Now, Trump's speech is also Thiel's speech. The only remaining question should be if YC partners are able to keep that position while saying and supporting harmful and often false ideas.
mzw_mzw 10 hours ago 0 replies      
No, shame on Marco, barking orders to other people about what politics they should or should not support. If one cannot be a professional and calmly interact with people who have wildly varying opinions, even opinions one finds despicable, one should not be in an industry whose very foundation is diversity of thought.
throw7 23 hours ago 0 replies      
Did or would Sam Altman support Brendan Eich when he was mozilla's CEO and accused of homophobia?
librvf 19 hours ago 0 replies      
Response to Sam Altman's post:

A Trump presidency would be a disaster for the American economy. He has no real plan to restore economic growth.

The truth is that no one knows for sure what will be best for the American economy for the next four years. There are too many variables and too much unpredictability to know for certain what a Trump president would look like.

His racist, isolationist policies would divide our country, and American innovation would suffer.

This is a fallacy. The country is already divided over immigration, and has been for a long time. The prevalence of this kind of fallacious rhetoric from elites like Sam Altman is precisely why the nationalist faction chose Trump to lead them. In order to counter this kind of deceptive propaganda, they needed someone willing to use equally powerful rhetoric in their favor.

Also, the claim that his policies are racist is simply not true. They are not racist.

But the man himself is even more dangerous than his policies. He's erratic, abusive, and prone to fits of rage.

Sam cites no evidence and makes no argument to back up these exceptional claims. I have been watching Trump for an entire year, and I have not observed any erratic or "abusive" behavior. At least, nothing exceptional that wasn't already directed at him. Sure, he savaged his GOP rivals with name-calling and theatrics. But they had already called him a clown, a sideshow, a circus. So it's OK to call Trump names but not OK to for him to respond in kind?

Trump supporters see this hypocrisy and understand that Trump is doing what he needs to do to win the election.

He represents a real threat to the safety of women, minorities, and immigrants, and I believe this reason alone more than disqualifies him to be president. My godsons father, who is Mexican by birth and fears being deported or worse, is who convinced me to spend a significant amount of time working on this election at the beginning of this year, when Trump still seemed like an unlikely possibility.

More blatantly fallacious reasoning. Because a Mexican national fears deportation (why?), suddenly Trump is a threat to all women minorities and immigrants?

Ridiculous fallacy. This is why Trump must use the rhetoric he does, because his opponents are so full of shit that they don't even realize it.

Trump shows little respect for the Constitution, the Republic, or for human decency, and I fear for national security if he becomes our president.

I'll grant that Trump shows little explicit respect for the Constitution. But Hillary doesn't either. No one's respecting the constitution because no one (Sam Altman) has been demanding it. There's nothing in the Constitution that guarantees immigration to anyone who wants it, which so far is the only issue he has identified that has not been a grossly biased representation.

Speaking of which, "human decency." Again, another extreme claim with absolutely NO argument or evidence to back it up. Altman boldy claims that Trump shows little respect for human decency, and yet anyone who has actually watched Trump interact with his supporters all year long shows that he is overflwing with of decency. People love him, he makes them feel good just to be around him. Here Altman is appealing to popular prejudice about Trump, which has been reinforced repeatedly by others like him in his echo chamber.

It's one thing to not waste time justifying claims for which the evidence is abundant and easily found. But there's no such evidence for these claims. There's a lot of other people saying similarly bad things that also have no evidence. So there's a clear reason why this perception exists. But I see no real argument.

As for fearing for national security? Again just another emotional appeal with no justification. What about Hillary actively antagonizing Russia? Speaking recklessly of no-fly zones over Syria, which our own Generals claim would mean going to war with Russia. This fear just seems ignorant.

Though I dont ascribe all positions of a politician to his or her supporters, I do not understand how one continues to support someone who brags about sexual assault, calls for a total and complete shutdown of Muslims entering the US, or any number or other disqualifying statements. I will continue to try to change both of their minds.

First thing: if Sam Altman wants to understand, then he needs to learn how to listen. Trump never bragged about sexual assault, and to claim he did is a lie. Everyone repeating this is also lying. If you actually want to understand, the first thing you need to do is admit your interpretation of this is wrong. If you can't do that, you'll never make any progress towards understanding.

As for a complete and total shutdown of Muslims entering the US? Immigration is not a right. There's no amendment that says anyone anywhere has the right to come to this country. We have the right (and some would say duty) to restrict entry to anyone for any reason. The fact is that Muslims tend to hold very different values than Americans (Sam Altman might want to ask what Peter thinks about Muslim's beliefs on homosexuality), and there there are Muslim organizations who have made an explicit goal of destroying Western European civilization through a combination of settlement, violence, and propaganda. You can't say that about any other major religion in the world.

And so of all the "basket of deplorables", that is the one I will admit to. I am not racist, at least, no more than anyone can be in the US given the amount of race-baiting done by corporate media. I am not sexist. I'm not homophobic or anti-semitic.

But I am an Islamaphobe. Islam scares me. The religion itself scares me as does the activities of its leaders-- the so-called moderates as well as the extremists. It scares me more than any other major religion in the world. No other religion of significant size has the same combination of intolerance, subversiveness, violence, conquest, and hostility to those outside the faith. I look at the character of Islamic civilization, and I know without a doubt that I do would not want to live under those values. While I totally understand that it's possible to interpret the Quran and Hadith in less violent and aggressive ways, and that most Muslims are just ordinary people who want to live happy and healthy lives, that's not the trend in the world today. There's not a single Islamic country that I would want to live in.

You won't see me harassing anyone or trying to deny American Muslims their 1st amendment rights. It's not hatred I feel. I'll never condone "hate speech" or "hate crimes." I do not fear ordinary Muslims, individually. I am not even opposed to having a solid and stable minority of American Muslims in perpetuity. But I most emphatically do not think we should be inviting substantial numbers of them into the country. We are not prepared to assimilate them and once there are sufficient numbers of them in the country they will start agitating to impose their political will on everyone else, which is likely to include political violence.

fweespeech 21 hours ago 0 replies      
Honestly, YC's position is reasonable.

> Some have said that YC should terminate its relationship with Peter over this. But as repugnant as Trump is to many of us, we are not going to fire someone over his or her support of a political candidate. As far as we know, that would be unprecedented for supporting a major party nominee, and a dangerous path to start down (of course, if Peter said some of the things Trump says himself, he would no longer be part of Y Combinator).

Employment should not be based on political beliefs.

> Trump shows little respect for the Constitution, the Republic, or for human decency, and I fear for national security if he becomes our president.

Similarly, that is a pretty clear statement that Trump isn't a conservative and I'd say that is honestly all YC needed to do.

yohann305 1 day ago 0 replies      
We cannot deny the overwhelming amount of value P. Thiel and M. Arment has brought to this world.Politics is ugly and divides people instead of bringing them together. The Hacker News community is all about technological progress, which is based on science, and as such, do not let your subjectivity cloud your judgment.

Do you think the world would be a better place by removing Thiel because of his political position?Asking to fire Thiel is as insane as asking to fire the 40% of Americans backing Trump (based on latest poll results: http://www.msnbc.com/rachel-maddow-show/latest-polls-show-tr...)

I wish you guys would put all your vigorous efforts on revamping the political system than pointing fingers at invaluable people.

polyfields 18 hours ago 0 replies      
Because of these pussified posts, I am voting for Trump.
yellowapple 18 hours ago 0 replies      
Translation: "Shame on Y Combinator for not punishing someone for supporting a candidate I don't like".

I don't like Trump, either (in fact, I rather strongly dislike him), but that doesn't mean I inherently dislike his supporters just because they happened to pick one of two evils in this shitfest of an election.

xname2 1 day ago 0 replies      
My observation:

- most trump supporters hate the corrupted system, the establishment, but they do not generally hate average hillary supporters.

- most hillary supporters hate trump and trump supporters.

treebeard901 20 hours ago 0 replies      
Is it so crazy to say that Thiel is free to support whatever candidate he wants... While Graham and Altman are free to choose who they do business with?
EGreg 20 hours ago 0 replies      
As with Title I vs Title II and other crap like this, this is just a symptom of a bigger problem: we have only two choices. Both times, YC got dragged into a situation where people demand they sever ties and punish people for their political views.

In our first-past-the-post system, even if Hitler and Mao were the nominees of the 2 parties, would the 3rd party get even 15% of the vote?


I am very happy with YC's decision not to sever ties with people based on their support of a political position that a large (over 20%) portion of the population seems to have. The way that was done with Brendan Eich at Mozilla. There should be some separation between the workplace and a person's personal politics.

These people themselves are not killers, rapists, they do not exercise their own power to coerce others etc. They don't endorse every single bad thing their candidate does.

For the record, I think Trump is not very interested in learning about nuances, half the time it's not clear what he is really saying, almost never reconsiders his position, instead he just easily disavows his own statements, and that alone disqualifies him. But should I cut business ties with every Hillary supporter because I believe they are for brinksmanship and escalating the threat of a nuclear war with Russia? Many are. But that has such a small effect on the good we can do together, in the actual sphere of our collaboration. If I want to do something about the doomsday clock, cutting ties with my coworkers is very, very far down the list of effective things to do.

Even in your personal life, realize that arguing about politics is like arguing about astronomy -- the odds are overwhelming that you can't really change anything in the current election. So if your significant other likes a different baseball team, that's not nearly as important as shared values about how you're going to raise your children, or basic respect to human beings, or other things in your real life.

I don't live in California, and I know New York State (where I live) will vote Democratic as it always has, same as Cali. But we embrace political diversity much more than California, it seems. It may be more OK to publicly disinvite Douglas Crockford from a conference for his own personal behavior (I personally think it is ridiculous, but still), than to disinvite someone for mainstream political views or support for another candidate.

But as I said, this is all a symptom of our first-past-the-post system:


FussyZeus 1 day ago 2 replies      
While I agree with a lot of what Marco says in spirit, there is a HUGE point that Altman makes as well:

> The way we got into a situation with Trump as a major party nominee in the first place was by not talking to people who are very different than we are. []

This one sentence I think fully encapsulates why the Republican base has gone to the extremes it has. They don't give a damn about who Trump is or the awful things he does because he is listening to them, something the coastal intellectuals haven't done for decades.

Speaking as someone from one of the flyover states, I'd probably be supporting Trump too had I not come around to a lot more progressive viewpoints. The fact is yes a lot of what these people believe is wrong and backward, but just ignoring them and pretending that having the middle of the country doing nothing but hard labor and drugs is ok is exactly what got us here. Nobody gives a damn about the middle states outside of election year. Every year rural economies tank harder and harder but because it isn't a sexy problem like Shale Oil nobody gives a shit.

These people have been marginalized, ignored, and abandoned during some of the hardest economic transitional periods, and they're tired of it. You'd be voting for any candidate who at least gave the passing appearance of giving a damn about you were you left in that situation.

Edit: Misattributed the quote.

michaelgrosner2 1 day ago 0 replies      
> one wonders what YC would do if PT invested in an app that celebrated and enabled racism, bigotry, assault.


HelloNurse 23 hours ago 0 replies      
Maybe Y Combinator considers "unsupporting" Ellen Pao important enough to side with Peter Thiel and, indirectly, Donald Trump.
jaoued 1 day ago 0 replies      
https://news.ycombinator.com/newsguidelines.htmlThis surely is an off-topic on HN.
zxcvvcxz 22 hours ago 0 replies      
Shame on Democrats: https://www.youtube.com/watch?v=5IuJGHuIkzY


> Altmans framing of Thiels Trump support as a diversity issue isnt just incorrect its a harmful distortion that reveals a deep misunderstanding of the tech industrys actual diversity issues. (I dont and cant fully understand our diversity problem, but I at least wont pretend to.)

What on Earth does this even mean? There's something wrong, I can't have a different opinion, but you can't even understand or explain it? Give me a fucking break.

Nadya 23 hours ago 0 replies      
I could write a mirrored copy for "How dare you support a warmongering, nation-selling, unpatriotic woman like Hillary." but these sorts of attacks are pointless in the end. No US-based company should be supporting Hillary. They don't have the best interest of the nation at heart, they have the best interest of their wallets instead.

I'm wondering when the far-left is going to wake up and realize by alienating their fellow countrymen with attacks and namecalling they are creating a larger problem, not solving it. You don't win over people's hearts by calling them bigots and sexists (especially when accusations like that get thrown around because of "manspreading" or "microaggressions").

Both political sides are allowing themselves to be manipulated so heavily by the media, and that there is an increasingly dangerous gap between "us" and "them" mentality going on in the States. I'm actually genuinely concerned for the day of the election. Regardless of who wins, people have fanned the flames so much that I'm glad I live in a small rural area. Regardless of Trump or Hillary I'm expecting riots on the streets of many cities/regions.

I shouldn't be expecting that - and blog posts like this one only fan the flames ever higher.

ganessh 1 day ago 1 reply      
Shame on us for making this post to the front page.
quantumhobbit 1 day ago 0 replies      
I don't know what the right thing for YC to do here is. But whatever it is can wait until after the election.

The last thing you want is to enable Trump to concoct a narrative that "crooked Hillary" is forcing businesses to discriminate against Trump supporters.

Trump is an existential threat to democracy and Thiel is disgusting for supporting him, but it looks like he will lose. However he is claiming that the election will be rigged against him. This is incredibly dangerous and YC firing Thiel could be like pouring gasoline onto a fire.

bonaldi 23 hours ago 1 reply      
The most damning thing to me about this is that Peter Thiel is content to let YC take the flack for him. He knows he's damaging them; that partners are walking away from YC, and it's down to him.

A decent person would walk away at that point, to save YC and take the heat on themselves.

He doesn't. Which makes it all the more odd that sama will still go to bat for someone he a) disagrees with and b) wouldn't do the same in return.

ravinpm 20 hours ago 0 replies      
now there is no difference between you and the so called trump supporters. You are asking others to take a stand on behalf of your moral values or bunch who share your values. Come to the developing countries who call themselves democracy and you can see it be absued by their supporters who have the very same notion as you. There is no difference between them(some are uneducated) and you(educated).I hope you are one those guys who can be brainwashed easily or there is no difference between you and those who get brainwashed. Either make your system strong or soon a combination of adam sutler(Vendetta movie) and father's mask(Equlibrium movie) or person with veil will screw everyone using the very same system.
deeth_starr 17 hours ago 0 replies      
While I don't agree w/ Marco on all his points, I think Thiel should go.

Trump/Thiel are racists against multiculturalism. This is the life blood of California and the tech sector. I say this as an old white guy.

fullofit 1 day ago 0 replies      
Racism, sexism, calling the election "rigged", saying you are going to prosecute your opponent, accusing them of being on drugs, bragging about sexual assault...

These are not political views. It's just absurdity, and supporting such a person with $1.25 million absolutely makes me question your judgement.

bobsgame 1 day ago 2 replies      
I wish that more smart people would not demonize either party and instead analyze and dissect each platform and weigh the potential benefits and consequences of them.

It is much more convincing to read actual facts about the platforms, and it's a lot more constructive.

With the brain power here, we might even be able to make constructive suggestions and possibly even influence either party's policies so that regardless of the outcome it works in everyone's favor.

If we can point out that some component of Hillary's plan or Trump's plan will surely lead to disaster in some way, that itself may have the political power to influence revision in a positive way, especially right now since both candidates are searching for weaknesses in each other's campaigns.

This is one of the most intelligent communities in the world, so let's be constructive.

rebootthesystem 18 hours ago 0 replies      
American politics have become radioactive. Intelligent people stay as far away from it as possible. Because getting involved and becoming visible can mean the end of you in more than one form.

We will never have a good government if good people fear the process and the media so much so that they move-on and devote their lives to more productive pursuits.

Imagine you are not perfect, decide to run for office and are subjected to the kind of media attacks we see escalate to lower lows every election? Who in their right mind wants a part of that?

To some degree one has to admire Trump for enduring the massive campaign against him. A lesser person would have imploded a long time ago. This isn't an endorsement as much as it is recognition of a fact.

What is happening in this election is despicable. The two main candidates are hardly the best this country can produce. And it is our fault. Entirely our fault. Not theirs.

My guess is it will have to get far worst before people wake up and realize we have been in an "emperor has no clothes" environment for decades.

This isn't about Democrats or Republicans. This is about a government taken over by some of the most despicable self-serving people around. Ambulance chasers who would not amount to much had they not gone into government.

Not sure how this will fix itself, if ever.

fizixer 20 hours ago 0 replies      
The size of this thread, and the split of opinions, is a clear indication to me that this goes beyond the single decision of "Whether or not keep Thiel on board".

I would like to bring your attention to that bigger issue (sorry if this comment is useless to you in making up your mind about Thiel).

I consider myself a transhumanist, a futurologist, a technologist, that sort of thing. I got into this about 3 years ago. And I've done a lot of thinking/reading on this topic, and I've tried my best to gauge the perception about technology in the eyes of non-techies, especially economists, and politicians.

And my conclusion is that, except for a few, economists and politicians are hopelessly lagging behind the fast pace of socio-economic change. I also predicted that within a matter of years, we're headed for a serious social disruption of an unpredictable nature.

Here is my thesis: 2016 is the beginning of that socially disruptive era. And it's all due to technological progress and automation-driven-unemployment!

If you think it's only about the 2016 US election, and things will settle down within weeks after November 8 election of Clinton, you would be misguided. Of course the election fever will settle down, but not the frustration behind it, which is growing like a frog in a slowly boiling water. I can tell you right now, the 2018 election season would be worse, and 2020 season would be far worse!

Case in point: Have you seen the statistics related to self-driving cars and trucks? Arguably it'll put 3 million truckers out of work. This will happen within a matter of months, not years, not decades. What do you think would happen when all of a sudden 3 million people are without means to put food on their table? Something that would make you forget Trump!

You might ask, we don't have self-driving cars yet why do we have social disruption? Well, self-driving cars is a poster-child of automation. It's something that's easy to understand and relate to. There is a ton of subtle, behind-the-scenes, automation going on, that is indirectly making harder for humans to utilize their skills for making money. Smart-phone and related apps, news article bots, automated warehousing like Amazon Kivy, Uber/Lyft, Airbnb, Etsy, vertical farming, solar and wind power, on, and on, and on. But more importantly:

Social disruption is not a step function but a logistic curve. It's not that we'll have zero disruption until self-driving trucks are available for retail purchasing, and after that we'll have full disruption. Instead, it's a sign of things to come, and we're off the zero-level, and slowly rising up the S-curve of the logistic function.

Please think of this problem in a bigger context. If technologists cannot do this, economists and politicians definitely can't.

crimsonalucard 23 hours ago 1 reply      
Many people think this election is different from all the past elections but I'm telling you:

When Trump or Hillary become president nothing will change in your daily lives. Mostly everything you do will remain the same.

So this election matters almost as much your favorite sport team winning some stupid sport which is to say it's a matter of life or death.

jfe 18 hours ago 0 replies      
true tolerance tolerates the intolerant.
sparkzilla 1 day ago 1 reply      
From these discussions, are we to take it that YC will not invest in founders who support Trump?
puppetmaster3 14 hours ago 0 replies      
And this just out - adding to my other post:


Lawtonfogle 18 hours ago 0 replies      
So by Marcos own logic does anyone who support Hillary support slut shaming 12 year old girls who have been raped?
rfrank 21 hours ago 3 replies      
"Can't we just drone the guy?" - Hillary Clinton, on Assange.
stewartUK 1 day ago 4 replies      
Please, do the right thing, and don't take it down again.https://www.reddit.com/r/startups/comments/582t9v/y_combinat...
creo 1 day ago 3 replies      
Tell me one thing YC community: What american politics topics are doing on worldwide tech-focused site?
MaxfordAndSons 22 hours ago 2 replies      
To be charitable, you're full of shit. Does Hillary encourage violence at rallies? Does she stoke resentment at minority outgroups for political gain? Does she threaten to imprison her political opponents? Is she preemptively calling the election fraudulent and encouraging polling place intimidation and violence?

Also you mixed up "kind" and "degree". The difference between them is, in fact, one of kind. Sure, she's a bit of a corporatist shill, but that's par for the course for most presidents since the 1900s. The case against her is built from years of strident exaggerations and lies, amplified by misogyny. She's a completely normal, if less than thrilling, politician. The case against Trump is sufficiently built on things he's said in public in just the last few months alone. He's an American proto-fascist.

hiringmanager 16 hours ago 1 reply      
transfire 21 hours ago 0 replies      
When you have a "hot-head numb-nut" and a "truly nasty shyster" running for President, who do you vote for?

I'll tell you. You say, "To hell with all that!", and vote for the [goofball](https://www.johnsonweld.com/).

whybroke 20 hours ago 0 replies      
>If Peter said some of the things Trump says himself, he would no longer be part of Y Combinator.

If it is only reasonable to spouse Thiel's supports Trump is in every particular. Not just the least damaging but also the most. So this not only includes the more palatable anti globalization stance but also race baiting and, hostility towards women as well as a fiercely anti democracy, anti free press platform.

I assume much of that is exactly opposed to ycombinator's higher mission.

Thiel's association with ycombinator is not one of employee to employer, it is voluntary association of colleagues for a common goal, presumably with goals higher than just monetary. Going forward, continuing with Thiel will not only make any claim to those nobler goals _look_ disingenuous they likely will in fact _be_ undermined.

dschiptsov 1 day ago 0 replies      
In the 21th century educated techies should understand that Trump is not a mere candidate, but a product of a set of image makers, speech writers, psychologists and whole bunch of deceptive and manipulative techniques applied.

Basically, it is a well crafted frontman (same as in a rock band) to appeal to less educated majority. This explains all the sexism and masculinity, bravado and jokes - all this reflects what the majority of any given population would appreciate, but not necessarily publicly approve.

In a society which is famous for its well crafted, researched in psychology departments, deceptive advertising techniques, all what Trump does should be familiar and transparent - the same primitive manipulations everyone is using to sell the crap to each other.

Trump is a product of applied psychology, designed to obtain majority of votes. Do not even try to fancy that hipsters, vegans, etc. leave alone the ivvy league students, constitutes the majority of US population.

So, some people take their chances, betting on that this primitive but sound strategy could win. Consider this as just a form of a risky investment.

doe88 1 day ago 0 replies      
I understand Marco's point and I agree with him but I must say for once I find his post not very well written.
pk22 1 day ago 1 reply      
People here defending the donation need to remember that Brandon Eich was let go for much less.
elias12 1 day ago 3 replies      
Just one quick comment, because these discussions always go there: This is not about Hillary. Whatever the family Clinton did or not did, it doesn't matter.This is about someone who supports Donald Trump in a significant way, and the person Donald Trump and his potential negative impact on our society.
altern8tif 1 day ago 2 replies      
Thought experiment: Would it be any different if we replaced Donald Trump with Hitler?

Should a company dissociate with a business partner/board member/investor because he supported an extremist's political campaign?

epaga 1 day ago 3 replies      
HN admins - if you're going to shut this one down as well, could I appeal to you to at least give a reasoning why? Killing posts like these without for example dang providing at least a quick reasoning why leaves a bad taste in my mouth...
fredgrott 20 hours ago 0 replies      
I would just state that while we have political freedom and free speech in the USA..YC should not be ENDORSING those political forces who in their direct actions with a consistent basis regale in Sexism, Predatory Sexual behavior, Racism, Hate of Gays,etc.

Its time for YC take a stand..no try to sit on a fence

pimterry 1 day ago 1 reply      
I think a lot of people are missing a key point here. This isn't about stopping a candidate you disagree with, or even about stopping a candidate that you think would be bad for the US. It's about making Y Combinator and the software industry as effective and good-for-the-world as possible.

Even if throwing Thiel out would actually help Trump's candidacy, they should do it.

There's an interesting debate about whether you think Trump's policies are a good idea, and how much you care about him being elected, but that's a sideshow. Thiel represents Y Combinator, like it or not. How he's perceived affects how Y Combinator is perceived, and how the industry (SV especially) are perceived by the rest of the world. Currently, he's actively and very publicly giving millions of dollars to a candidate espousing violence, sexism, racism and sexual assault.

By supporting Thiel, Y Combinator is supporting somebody espousing violence, sexism, racism and sexual assault. It doesn't matter if they're a presidential candidate or not, or what it does to the election results. Encouraging and supporting these _moral_ positions is horrific, bad for everybody, and just practically bad for business. When your public face becomes the face of hate speech, you have a practical business problem, and you need to solve it.

You would fire a public face of your company if they publicly wrote a post about how they liked to sexually assault people. You would fire a public face of your company if they publicly donated millions of dollars to an organisation encouraging sexual assault. Why is it different if the organisation they're supporting is running for president?

It's not about Trump's policies, and it's not about whether or not it plays into Trump's hands: if a major face of your business is actively visibly supporting abuse, discrimination and violence and you do nothing, then your business is supporting abuse, discrimination and violence. You're going to give you and your industry a bad name and discourage minorities of all kinds from ever working with you, along with anybody else who finds your morals repugnant.

Supporting Thiel while he actively defend and encourages racism, sexism and violence in the name of "free speech" doesn't make the world better; it makes it far far worse.

sgdesign 1 day ago 0 replies      
It would definitely be wrong to fire or sever all ties with someone for supporting, say, George W. Bush. On the other hand, it would be appropriate to do so if said person supported Hitler.

So the question is where you put Donald Trump on that spectrum. Personally, I think he's much closer to an authoritarian populist than to a regular politician.

You may disagree with Trump's placement on that axis, but I find it very strange to see so many people in this thread arguing that punishing someone for their political position is always wrong, no matter how vile or dangerous said political position is.

Kazamai 22 hours ago 0 replies      
Really naive to think that supporting a political party and supporting Trump are the same. Of course, Peter Thiel does not support the BS that Trump says. It would be a huge contradiction coming from the same man that took down Gawker. If there was no single reason why people are supporting Trump, it is American's version of Brexit, by voting Trump people are protesting the massive economic chaos in the USA. They aren't hoping Trump will fix it. The opposite, they are hoping Trump will fail miserably, which will effectively hit the reset button on the American economy.
no_scope_me_fgt 1 day ago 1 reply      
There's also the entire argument that Thiel doesn't really support Donald Trump, and that this donation is more of a strategic move that is coherent with increasing Ted Cruz's chances of election in 2020. Cruz got as close to a public denouncement of Trump as possible, and he will probably need the support of many of his voters (who knows if they'll even remember, doubt it) to be able to secure a victory. Thiel could perhaps be the trump card necessary as support, as he double counts as both a gay man and someone who remained "loyal" to Trump. I think that Thiel's opinions on how the world should look are more in line with Cruz's, and he himself has called Cruz "very smart". I don't know a lot about politics or Peter Thiel, but to think that a former chess champion and fairly renowned silicon Valley figurehead legitimately supports Trump is a little outlandish. The odds of there being an ulterior motive are far greater than the opposite. Not to mention that he probably saw all the negative PR coming, as well as the resulting dissociations. He probably believes it was all worth it.
_pius 21 hours ago 1 reply      
Another way to look at this is to apply a version of Jeff Bezos's Regret Minimization Framework: project yourself decades into the future and read about yourself in a history book.

If you truly believe Trump is an unprecedented threat to democracy in the league of Stalin, how would you feel telling your children that "it was just business" when you kept on a partner who was part of his campaign apparatus?

I don't think IBM is particularly proud of their management during the 1930's. No one knows or cares about the personal views of the people behind those decisions, just what they led IBM to do.

rbanffy 20 hours ago 0 replies      
Peter Thiel's financial support for Trump's campaign, as well as Trump's campaign of hatred, racism, xenophobia and misogyny, are perfect examples of the Overton window sliding into insanity.

The next Trump may be slightly more moderate. He may accept that women may have some of the same rights as men. He may accept the fact some foreigners should be afforded some civil liberties. He may even accept access to healthcare is a good thing and that Islam is not inherently evil.

And, next to Trump, he'll be pictured as a moderate.

I am sorry if I look intolerant of diversity, but this cannot be tolerated. We cannot allow the subversion of democracies.

joshberkus 20 hours ago 0 replies      
Given Thiel's long history of crazy an immoral utterances and behavior, why pick out his support of Trump as the "line in the sand"? It's practically normal compared to his other activities, and protected by law to boot. Compared to:

* Suing a news publication (Gawker) out of business for criticizing him* Funding research into vampirism (stealing young people's blood so he can live longer)* Paying to design an actual John Gault Island* Funding an initiative to split California into 6 states* Saying that women shouldn't be allowed to vote

There are tons of reasons why YC should disassociate form Thiel, but his donation to the Trump campaign has got to be the least of them.

samlevine 23 hours ago 0 replies      
It's worth sharing this again:


For what it's worth, Thiel seems to have the view that Trump isn't actually going to do horrible things, and will invest in infrastructure and American businesses.

This seems deluded for the same reasons that some American liberals were about Stalin, and purging him for his authentic and not apparently horrible beliefs would be the same mistakes that we did during the McCarthy era.

drawkbox 18 hours ago 0 replies      
Nearly all of our bosses, owners, authorities vote and support in various ways, most you probably don't like. Thiel is a funder, how often have you worked for people/financing that had differing opinions? All the time...

The real problem is that the 2 party system has successfully divided us and put us on teams warring one another over silly things like politicians (and non issues like sex lives over real issues like healthcare, education, prosperity, opportunity, security -- not the war on terror kind, more like the bridges aren't going to fall kind).

Most of what we want are the same things, but we'll never get anywhere hating on each other based on our political team that is essentially the same party once in action. I wish we would go back to the old way of keeping your vote and opinion closer to your chest and surprising the two political parties so they actually need to court the vote again.

I can't wait til the election season is over, it is always a very harsh/rigid time in the US when they are on, people seeing others as lower who aren't in their own party. Disconnect from it and everyone be independent. Don't do work for politicians and blindly support anyone or any party, make them do work for us.

bonaldi 20 hours ago 1 reply      
Man alive this thread. When SV wonders why it has a diversity problem, just point 'em here.

Where were all you Free Speech zealots when Thiel destroyed Gawker?

Where were all you Political Choices Are Sacred crew when SOPA was being proposed?

Where were all you "protect rich bigots" stans when it was Brendan Eich? Oh wait, that's right, you were on the wrong side there too, my bad.

As for you "I guess there's a 'wrong side' these days of things you just can't say" newcomers: surprise, there have always been unacceptable opinions, such as supporting fascism. It's just that a mainstream party accidentally chose as its candidate someone who holds and expresses those opinions. That doesn't give him, you, or Thiel, a pass.

throwaway274739 23 hours ago 1 reply      
If you vote for Trump, you are supporting a racist, misogynistic, Islamophobic, anti-LGBTQ fascist. You are in fact voting against the very principles of equality, liberty and diversity that this country was founded on. As such voting for -- much less, actually supporting Drumpf -- means you are endorsing violence against huge portions of the American public (e.g., sexual assault against women, imprisonment of Muslims, Latinos, etc).

Therefore, not only is there nothing wrong with forward looking organizations for excluding people as dispicable as Trump supporters, they have a responsibility to do so for the safety of their members who happen to be LGBTQ, Muslim, female, People of Color and basically anyone else who isn't a straight white male.

It's 2016, about damn time we send a message to the bigots that their hate is no longer okay and we're not going to tolerate it anymore. End. Of. Discussion.

Programming books you might want to consider reading danluu.com
995 points by deafcalculus  3 days ago   126 comments top 33
jcoffland 2 days ago 5 replies      
The best Calculus book I've ever found is free from MIT.


questionr 3 days ago 7 replies      
I often here comments about finishing a mathematical/technical book over the course of a "few" weekends.

But I don't see how thats possible if it includes completing all (or even most of) the given exercises. Especially when you have a full-time job.

ambulancechaser 3 days ago 4 replies      
Dan Luu's style is so impressive for his ability to be super objective about pros and cons of things. There's a post he wrote where he traces his career and lists out possible missteps and successes. His ability to dispassionately look at situations and evaluate them on their merits rather than allow their connotations into his judgement is quite enjoyable to read.

Also his talk at strange loop was spectacular.

cscheid 2 days ago 0 replies      
The best introduction to optimization methods book I've ever read is "Optimization by Vector Space Methods" by Luenberger. This is the book that opened my eyes to the generality of least-squares methods, the actual geometry of the problem, and how to apply it extremely generally. I read this before Boyd and Vanderberghe's "Convex Optimization", and I'm glad I did - it goes much more deeply into the intuition and exposition. It's not as well known as it should be, but it's a complete gem.
lisper 2 days ago 2 replies      
One of my favorites not on the list: Code: The Hidden Language of Computer Hardware and Software, by Charles Petzold


Takes you from simple mechanical switches all the way to a CPU.

adrianratnapala 2 days ago 2 replies      
Luu says regarding the Little Book of Semaphores:

"If Im writing grungy low-level threading code today, Im overwhelmingly like to be using c++11 threading primitives, so Id like something that uses those instead of semaphores,"

But as someone whose lowest-level experience of concurrency is with APIs similar to the C++ primitives (which are not that different from pthreads), I disagree. I found it a real eye-opener to see how all this can be broken down to semaphores.

I am starting to think that a semaphore-only set of primtives would be easier to reason about. I've seen better coders than me make over-complicated mutex based solutions when sempahores gave a simple answer. And I bet I've done it too.

gmfawcett 2 days ago 0 replies      
I think it's on-topic to offer a shout-out to the csbooks subreddit [1], where we share links to freely (legally) available CS books.

[1] https://www.reddit.com/r/csbooks/

jldugger 2 days ago 0 replies      
> This book agrees with my biases and Id love for this book to be right, but the meta evidence makes me want to re-read this with a critical eye and look up primary sources.

Too true. Peopleware did not live up to my expectations. It's very light on evidence, has the chapter flow of a monthly-newsletter-turned-book, and contradicts itself in a few places without blinking an eye.

CalChris 3 days ago 2 replies      
Shen & Lipasti, an under appreciated book.

I like Hennessy and Patterson Computer Organization more than their Computer Architecture, especially the last edition. I'm looking forward to reading the ARM version of COAD:


ptero 3 days ago 1 reply      
The idea is good: a list of general topics, a "why should you care" section for each (the part I really liked) and a few specific titles.

I would love an expanded list of topics (the current one is short) e.g., compilers, comms, security, Arduinos/ raspberry Pi / IoT. I personally did not like long lists of specific books -- I'd rather know about the topic and browse bookshelves at a Barnes and Noble to pick a couple that I like, but that's just my preferences.

suprfnk 2 days ago 0 replies      
Off-topic, but

 body { font-family: sans-serif; line-height: 1.4; margin: 0 auto; width: 50em; }
Please? I get that these websites aim to be simple, but it's really hard to read like this.

adamnemecek 2 days ago 0 replies      
I also put together a list http://astore.amazon.com/adamnemecek-20 I'm not actually making money from the links because amazon closed my affiliate account.
webmaven 2 days ago 2 replies      
Interesting comment on DeMarco's Peopleware:

> This book seemed convincing when I read it in college. It even had all sorts of studies backing up what they said. No deadlines is better than having deadlines. Offices are better than cubicles. Basically all devs I talk to agree with this stuff.

> But virtually every successful company is run the opposite way. Even Microsoft is remodeling buildings from individual offices to open plan layouts. Could it be that all of this stuff just doesnt matter that much? If it really is that important, how come companies that have drank the koolaid, like Fog Creek, arent running roughshod over their competitors?

The answer is in another recent post (http://danluu.com/sounds-easy/#fn:S):

> For a lot of products, the sales team is more important than the engineering team.

Put another way, every measure of engineer / software quality and project success (including the qualitative ones that are harder to measure) like delivering on time / under budget, correctness of implementation, system performance, uptime / reliability, number of bugs, ease of maintenance, minimal technical debt, etc. etc., are very often only nice-to-haves. Not necessarily all of them at all times, but often enough most of them except one or two (not the same one or two, though).

Which is a good thing, or startups would never be able to trade off covering edge and corner-cases, or scale, or 'standard' feature-completeness, etc. in favor of new and game-changing capabilities (or business models) & incumbents could never be disrupted.

But as it happens, we know that 'worse is better' in lots of ways and in lots of circumstances. So companies that 'drink the kool-aide' and focus on developer productivity and happiness may produce 'better' software by any and all measures you care to use as a developer, instead of focusing on only the most important ones that directly relate to optimizing the customer acquisition funnel and subsequently reducing customer churn.

At the level of the corporation, programming is a competitive sport, but companies are not scored on software quality, or developer productivity, or developer happiness. Companies are only scored on 'getting and keeping customers' and 'making a profit' (which may require paying attention to some quality measures, just not all of them all the time).

Put yet another way: If you're doing Lean Startup / Customer Development right, the customer decides what 'quality' means, not you.

uola 2 days ago 2 replies      
These type of lists have nothing to do with efficient learning. In the information age we have more available information than time. Knowing how to learn is the multiplication factor. If you do your due diligence these lists quickly becomes anecdotal.
kodiera 3 days ago 2 replies      
We had "Structure and Interpretation of Computer Programs" by Abelson/Sussman when I was at university, which I found a good introductory book.

For a more thorough understanding I would recommend Donald Knuth's "The Art of Computer Programming".

tylerpachal 2 days ago 1 reply      
Can anyone recommend a good book about compilers? I just watched Martin Odersky's talk from Scala World [1] where he talks about the new Scala compiler he is working on called Dotty [2], but he talks a bit about other compilers and now I am interested to learn more.

[1] https://www.youtube.com/watch?v=w1ca4KL9UXc

[2] http://dotty.epfl.ch

hal9000xp 2 days ago 2 replies      
Upvoted for recommendation of "Dasgupta, Papadimitriou, and Vazirani; Algorithms".

Unlike TAOCP and CLRS it's actually readable in realistic amount of time.

This book is also very good at explaining theoretical computer science. In particular - NP completeness.

Official copy is available at home page of Umesh Vazirani at berkeley.edu:

0: Prologue - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap0....

1: Algorithms with numbers - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap1....

2: Divide-and-conquer algorithms - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap2....

3: Decompositions of graphs - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap3....

4: Paths in graphs - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap4....

5: Greedy algorithms - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap5....

6: Dynamic programming - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap6....

7: Linear programming and reductions - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap7....

8: NP-complete problems - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap8....

9: Coping with NP-completeness - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap9....

10: Quantum algorithms - https://people.eecs.berkeley.edu/~vazirani/algorithms/chap10...

syncopatience 2 days ago 1 reply      
Could anyone weigh in on his assessment of Martin Fowler's Refactoring book? I'm considering picking it up - some seem to be of the opinion that its ideas are old news in 2016 and there's not much to learn from it, others say there's still lots of useful information.
gaius 3 days ago 0 replies      
Hacker's Delight by Henry S. Warren
anthnguyen94 2 days ago 0 replies      
Cool to see lots of comments on real life algorithm applications, if anyone is interested in diving deeper there's a good book that came out recently called "Algorithms to Live By" by Brian Christian and Tom Griffiths. It talks about how we often use CS algorithms in real life without knowing.

If you want a glimpse here's a talk they gave at Google: https://www.youtube.com/watch?v=OwKj-wgXteo

eachro 2 days ago 0 replies      
I'm surprised the author didn't include Axler's Linear Algebra Done Right under the math section considering how fundamental linear algebra is to so many domains of computer science.
mozumder 2 days ago 0 replies      
I could use a good book on combinatorics. The ones I have are way too dry and doesn't explain well in plain English.
luis_espinal 22 hours ago 0 replies      
Mythical Man-Month and Software Project Survival Guide
nickpsecurity 2 days ago 0 replies      
High-speed Digital Design should probably be on the hardware list. It was recommended in all kinds of places plus doing high-performance often takes different style. Id be interested in an ASIC engineer's opinion on it if one of you are here.
yellowapple 2 days ago 1 reply      
A good list for sure; I'll be adding a few of these to my reading list (and a couple, like "Higher Order Perl", already are).

"I find algorithms to be useful in the same way I find math to be useful"

I'd hope so :)

cagmz 2 days ago 0 replies      
Regarding OS; how does the Comet book compare to the Dinosaur book?
astannard 2 days ago 0 replies      
Refreshing post title! It beats the tired old "10 xxxx books you MUST read, or else" you see all over the place
ansgri 2 days ago 0 replies      
Meta question: does author blocks requests from some countries? Somehow danluu.com is only accessible for me through vpn, else times out.
kkirsche 2 days ago 1 reply      
It's language specific but I would recommend eloquent Ruby. One of the most engaging programming books I've read
HeavyStorm 2 days ago 0 replies      
Tanenbaum's Operating Systems isn't there. Sorry, this isn't a good list.


ronald_raygun 2 days ago 1 reply      
I'm really happy to see the books on game theory and auction theory on there.
jasoncchild 2 days ago 0 replies      
Read through peopleware recently; I was surprised to see it on this list, mainly because it felt targeted more at low-mid level software engineering managers than "devs".

Nice list that I'll certainly pick a title or two from to add to my queue.

rookiemaverick 2 days ago 0 replies      
So pretty much every book from the CS course.
Wikileaks: Julian Assange's internet access 'cut' bbc.co.uk
779 points by dharma1  2 days ago   1152 comments top 73
jacquesm 2 days ago 9 replies      
- Is the whole embassy shut down?

- Is there any direct reason for the timing (US elections, attack on Mosul or other current headlines)?

- Was there any imminent release? (last week there was an announcement of a leak but it didn't materialize as far as I know)


- You'd assume that Wikileaks the organization will continue to work even without Assange having internet access so what exactly will this accomplish other than lending support to Assange's stated reasons for hiding in an embassy to begin with?

edit: another comment here suggests the reason may be because his extradition is imminent.


anthony_romeo 1 day ago 20 replies      
We're in the middle of some crazy propaganda war right now, and it's been this way for quite a while. It became completely transparent when the Podesta e-mails were released mere minutes after Trump's videos regarding possible sexual assault were released.

Ever since the DNC leaks and the subsequent accusations against Russia, it became clear to me that, at some point, the attempts to tarnish Wikileaks's name was to prime the listening audience in a way such that when information so irreparably damaging would get released, the voters would have to choose between continuing a corrupt government and choosing an apparently mad authoritarian, and to soften the landing on the former. Since the RNC, Trump's campaign has been entirely pushing "Don't believe their lies", and the gaslighting from both sides seems to be hitting a nadir at this moment. It's becoming far more difficult to find reality in the fog.

These are indeed interesting times.

PJDK 1 day ago 3 replies      
I'm a bit confused by all the comments here spinning off down conspiracy theories, but not much on facts.

"State actor" can only really mean UK or Ecuadorian government - or at the very least one of those two must be pulling the trigger.

If it's Ecuador that makes some sense, they control the connections to the outside world - they could just change some passwords and internet is cut. But that would be very obviously what had happened so why not just name them.

Alternatively the UK could cut the connection from outside the embassy. I don't see how that could be done without cutting off the internet for the whole embassy. That would possibly be in breach of the Vienna Convention [0] but at the very least I can't imagine it happening without creating a gigantic diplomatic stink.

Neither of those options sound that plausible. Is there a third I've missed? Somehow know it's Assange browsing and kill all his packets in flight?

Also, this is central London - the internet floats freely through the air. Contingency measure is tethering?


JD557 1 day ago 0 replies      
WikiLeaks just released more information about this: https://twitter.com/wikileaks/status/788099178832420865

>We can confirm Ecuador cut off Assange's internet access Saturday, 5pm GMT, shortly after publication of Clinton's Goldman Sachs speechs.

SCdF 1 day ago 1 reply      
Instead of jumping on this as a giant conspiracy, it might be worth considering that it's just that his internet went down.

I mean, until there is actual evidence that Hillary Clinton[1] deployed a highly trained collection of seals (the animal, not the US military contingent) to cut through his tube wires in the death of the night and then pelt across hide park and hide in the serpentine, perhaps we should just consider that public services in the UK are incompetent.

My internet went down last week, you don't see me reaching for the anti-seal spray.

[1] Well, the robot that replaced Hillary Clinton obviously, as we all know she's been dead for 20 years

herghost 1 day ago 4 replies      
I do find myself confused by Assange's motivation when taken in context of his circumstances.

If he has and holds evidence of something so damaging that a tweet of the supposed hash of the file is enough to be a threat to a person in power, then why has he allowed himself to live under effectively self-imposed house-arrest for the past 4 years?

I can't imagine that the Wikileaks apparatus doesn't have sufficient op-sec and op-capability to ensure that whatever they're holding gets released effectively should they choose for it to be, so I find myself erring towards this being an over-played hand for the most part.

willvarfar 1 day ago 4 replies      
It suits Assange's narrative to say its a "state actor", just as it suited Yahoo's board to claim "state actors" as they disclosed their latest breach.

Assange's ego really dilutes the wikileaks original goals and its no surprise that the actual doers in the organisation upped and left in 2010.

unixhero 2 days ago 6 replies      
From the bowels of 4Chan


haberman 1 day ago 5 replies      
I'm still processing this information, and holding out to form a full opinion until more details become available/confirmed.

In the meantime, I'm curious, for people who are angry about this: suppose it is actually true that Assange is working together with Russian hackers in an attempt to influence a US election. Do you believe there is any point at which governments should intervene to protect national sovereignty and integrity of the political process?

If WikiLeaks was releasing dirt on both candidates I would feel much differently.

Pilfer 2 days ago 6 replies      
Rodger Stone (who may have back-channel communications with Wikileaks staff [0]) shared two tweets suggesting that this might be US backed action. Note these tweets are still unconfirmed. At time of writing I have not yet seen this information corroborated elsewhere.

1) "John Kerry has threatened the Ecuadorian President with "grave consequences for Equador" if Assange is not silenced @StoneColdTruth" [1]

2) "Reports the Brits storm the Ecuadorian Embassy tonite while Kerry demands the UK revoke their diplomatic status so Assange can be seized" [2]

It really does make me wonder what documents Wikileaks might have that could make US diplomats so riled up.

[0] http://talkingpointsmemo.com/livewire/roger-stone-back-chann...

[1] https://twitter.com/RogerJStoneJr/status/787858612844695552

[2] https://twitter.com/RogerJStoneJr/status/787863160149598208

Iv 1 day ago 4 replies      
My understanding is that we do not have any proofs of life from Assange. It could be many things: assassination, deal with Ecuador, extradition by Ecuador or someone else, simply an internet censorship, a PR stunt by Assange.

All is possible. This guy lives a fucking dystopian nightmare.

staticelf 2 days ago 4 replies      
From a Swedish perspective the Julian Assange case is particular close to the heart since it really shows how corrupt even our courts and politicians are. Sweden is rated as one of the countries with the lowest corruption but still 6 years have passed without even interviewing him for the pathetic accusations.

The entire case is a joke and whatever the US-election result is, it's bad for the entire world since our corrupt politicians will do whatever American corrupt politicians say.

Tomte 1 day ago 0 replies      
Ecuadorian president Correa is outgoing, not running for another term. There will be a new president in a few months and it is almost inconceivable that a new president could be nearly as accomodating as Correa towards Assange.

Something is going to happen in the next few months. Question is, how much agency does Assange really have left?

Shank 2 days ago 5 replies      
Seems to me like whichever "state party" this was didn't consider the implications behind their actions. Wikileaks has released insurance files in the past, and I wouldn't be surprised if this doesn't, automatically or not, trigger a dead man's switch for more leaks.

If you're a state party trying to prevent leaks, silencing Julian is probably the worst way to go about it. It would be arcane not to think of this scenario and plan for it.

fnordo 1 day ago 1 reply      
According to Wikileaks it's the Ecuadorian Embassy that cut his access.

"We can confirm Ecuador cut off Assange's internet access Saturday, 5pm GMT, shortly after publication of Clinton's Goldman Sachs speechs."

DougN7 1 day ago 7 replies      
I am getting so damn sick of all of the corruption we're seeing in governments all around the world, including the US/UK. Makes me want to vote for Trump and take the whole crooked system down (unfortunately, that would cause a LOT of pain for good everyday people).
harryf 1 day ago 1 reply      
The more I look at this, the more it seems like a brilliant move by Assange to force the media to report more on Wikileaks and the Podesta emails, not just Trumps locker-room antics.
anondon 2 days ago 2 replies      
When Assange accesses the internet, I am guessing that state actors would be trying to see what his traffic contains. How would a person in such a situation access the internet and be sure that his traffic cannot be decrypted and/or there is no man in the middle modification of his traffic. For the sake of discussion, assume he has a brand new laptop with Debain/tails or another FOSS OS. The general consensus seems to be to avoid MacOS and Windows in cases where your life is on the line.
throwaway98237 1 day ago 1 reply      
Perhaps this is this election cycle's "October Surprise"?

If this is Clinton attempting to seal-the-deal on the election, I'm officially not voting. Anyone that uses the power of the state (read: the power of the gun) to silence speech is a non-starter in my book.

chvid 1 day ago 1 reply      
I assume the guy has more than one internet connection (ie. 3G and cable) and that they have all been cut.

What is the point of these tweets:

 pre-commitment 1: John Kerry 4bb96075acadc3d80b5ac872874c3037a386f4f595fe99e687439aabd0219809 pre-commitment 2: Ecuador eae5c9b064ed649ba468f0800abf8b56ae5cfe355b93b1ce90a1b92a48a9ab72 pre-commitment 3: UK FCO f33a6de5c627e3270ed3e02f62cd0c857467a780cf6123d2172d80d02a072f74

(From WikiLeak's twitter account.)

Are they hashes of some larger documents and somehow verify authenticity? Some kind of keys or passwords? His dead man switch?

heisenbit 1 day ago 1 reply      
Wikileaks was about sharing facts.

Wikileaks today is about curating facts, interpretation and using facts towards an end.

The "fact" state actor w/o proof is another step away from the roots.

raesene6 1 day ago 2 replies      
hmm I would suggest there's something more to this than "Internet cut off". There's pretty much no chance you could cut off all connectivity from a building in the heart of london (https://www.google.co.uk/maps/place/Embassy+of+Ecuador/@51.4...)

From that location you have Base station's covering all 4 major UK mobile networks and I'd guess a large number of wi-fi hotspots.

So to "cut off" internet access, you've got to cut all BT lines in and out of the building, block all 3/4G signals all round the building and block each and every wi-fi band around that area, without smegging up all the frequencies in a very central part of london, right next to large shopping areas like Harrods.

you cant' just cut off devices known to belong to Assange, as anyone can buy a 4G router with cash from a shop in London which isn't easily attributable to him.

oh yeah and I forgot there's the satellite internet bit they'd need to block too.

Tycho 1 day ago 0 replies      
A lot of people paid a lot of money to get the Clintons into positions of power. A lot of people need to protect their investment.
olivermarks 1 day ago 0 replies      
rottyguy 2 days ago 3 replies      
A bit of an interesting dilemma in the spirit of transparency. Given an N-way race, do you just reveal secrets pertaining to one participant (since this may be all you have) or do you with-hold until you can reveal secrets from all participants?
imron 2 days ago 0 replies      
Well, I guess that's one way for a state actor to confirm the leaks are real...
labster 2 days ago 3 replies      
If that state party is Ecuador, I'll laugh out loud.
ComteDeLaFere 1 day ago 1 reply      
From the article -

"There was no way to immediately verify if he had been knocked offline, and if so, how a state actor was suspected."

As far as I can tell, no one has verified any of this. Given JA's recent bizarre state of mind, I'm not sure where all of this breathless HN commentary is coming from.

wbhart 1 day ago 0 replies      
Ecuador's Foreign Minister Guillaume Long recently noted [1] that the embassy has problems with internet connection and telephone and that it was their belief the connection was being interfered with (hacked).

It is very likely Assange knows the difference between an internet connection that is just suffering an outage, and an internet connection that has been deliberately cut. If the "outage" only affects the embassy, and no other clients on the same fibre, and if the ISP is unable to give information due to "security issues", that would for example, be a big red flag, I would imagine (I have no insight into what the situation really is, I'm just giving a for instance).

Wikileaks also seems to be a broadly decentralised organisation, from what little they've given away in past press releases about how they operate. I'm sure I remember they once boasted about their crypto phones, etc. So it is unlikely Assange has lost contact with the world, or that he personally is maintaining their Twitter feed. The issue here is more what this portends, rather than what it might do to Wikileaks.

[1] http://www.telesurtv.net/english/news/London-Threatens-Quito...

markwaldron 1 day ago 1 reply      
What are the odds that Donald Trump has reached out to Assange and made a deal with him? I don't think it would be outside the realm of possibility that Trump would say if he won he'd push for the US to drop charges against Assange (although that doesn't clear him of the charges brought by other countries) in return for Assange releasing whatever information he has on Hillary leading up to the election.
dantillberg 1 day ago 1 reply      
This story only states that Assange told them this along with his suspicion that he's been targeted by some state, not e.g. a tree falling or a jackhammer mis-jackhammering.

BBC has not verified any of those claims, and they went and reported it despite the fact that part of it either isn't clear or doesn't make sense -- what does it even mean to have his internet "cut"?

This story could just as well turn out to be of a tree or a jackhammer.

jagermo 1 day ago 0 replies      
PSA: Do not visit the Donald subreddit if you want to stay sane.

The tinfoil hats run really hot there.

tschiller 1 day ago 0 replies      
Assange has been scheduled to be interrogated by Sweden today (October 17th) since at least mid-September [1]. Both the internet outage and the pre-commitments are likely related to that. For more analysis (and the evaluate the evidence yourself), follow along at https://www.opensynthesis.org/boards/14/who-cut-wikileaks-fo...

[1] http://www.cnn.com/2016/08/11/europe/julian-assange-question...

dghughes 1 day ago 0 replies      
Did he try turning his router off then on again?
ajross 1 day ago 0 replies      
How sure are we that this isn't just a stunt by Assange? He can have visitors in the embassy. All that's required is for someone to hand the guy a burner phone and poof: twitter access!

So either he's in custody, or faking the whole thing IMHO. Surely his buddies in London should be able to verify the former, and if they can't they'd surely be screaming like hell that "We can't find Julian!".

The fact that everyone is radio silent tells me this is a stunt, honestly.

werid 2 days ago 1 reply      
TheSockStealer 1 day ago 0 replies      
Before everyone picks up their handy pitchforks and torches (too late?), in times like this I am reminded of Hanlon's razor:

"Never attribute to malice that which is adequately explained by stupidity."


alexandercrohde 1 day ago 1 reply      
I think we should modify the Geneva convention to make cutting internet access illegal. I think everybody should have the freedom to express their ideology, even if jailed. It has always been legal to write letters from prison, it should be a fundamental right to express dissent, particularly when it's political.
Kenji 2 days ago 1 reply      
I wish I could help Assange. This guy deserves a medal, and barely any country has enough morals to host him. Here we have a presidential candidate seriously saying "Can't we just drone this guy?" (Hillary Clinton, obviously) and barely anyone stands up for him. People get extradited because otherwise there will be economic embargos. Trade your morals for a 4K TV. Disgusting.
stale2002 2 days ago 2 replies      
Oh man! Whats the upcoming Monday Surprise going to be! They have been hyping it up. Leaks for everyone! Freaking leak Christmas over here.
novalis78 1 day ago 0 replies      
Interesting documentary from Project Veritas Action https://www.youtube.com/watch?v=5IuJGHuIkzY just published today.
sflicht 2 days ago 3 replies      
A little more unsubstantiated info from Reddit [0].

[0] https://np.reddit.com/r/The_Donald/comments/57vu5l/red_alert...

nateberkopec 1 day ago 1 reply      
I wonder if he's bluffing with the MD5 hashes that were tweeted out. No way to know.
nstj 1 day ago 1 reply      
675 comments and no one actually knows what we're talking about.

What does "cut" mean? Why can't he just use a hotspot?

pjlegato 1 day ago 0 replies      
Overtonwindow 1 day ago 0 replies      
I saw something a moment ago that Ecuador cut his internet. Anyone know of why this would have happened?
toehead2000 1 day ago 0 replies      
The article doesn't say whether he tried turning it off and then turning it on again...
Nadya 2 days ago 5 replies      
I had began archiving the /news and /newest because a lot of the Wikileak threads I was upvoting were disappearing into the ether. Seems they were getting mass-flagged/killed, this one survived. Also seems there has been discussion earlier today but the threads were mass-flagged off the front page.


 https://news.ycombinator.com/item?id=12722929 [208 points, 144 comments, buried] https://news.ycombinator.com/item?id=12724507 [50 points, marked as dupe] https://news.ycombinator.com/item?id=12724939 [23 points, buried] https://news.ycombinator.com/item?id=12724525 [7 points, marked as dupe, dead] https://news.ycombinator.com/item?id=12725175 [3 points, buried instantly]

arviewer 1 day ago 1 reply      
How much is a 4G dataplan in London? Even when he uses 100GB that should be payable by them. Is that blocked as well? Then they have to block out that area, and that won't go unnoticed.
bedhead 1 day ago 0 replies      
Pretty interesting comparing the reactions to this and Snowden.
puppetmaster3 1 day ago 0 replies      

Twitter has deleted whatever periscopes that were near or around the Ecuadorian embassy.

puppetmaster3 1 day ago 1 reply      
14 Wikileaks associates are also cut off from the internet:


evgen 2 days ago 2 replies      
Aaaaaand like all of Wikileaks' dumps, this one turns out to be completely overblown BS. Boots on the ground confirm that absolutely NOTHING is happening at the embassy, no one is breaking in and the report out of London is the standard Monday morning complaint about the morning rain and the annoying signal failure on the Central line that is messing with commutes.

If Assange did lose internet access it is because the Ecuadorians changed the wifi password and didn't tell him. I am absolutely sure that we will be getting a mea culpa from Roger Stone any minute now...

pcl 1 day ago 0 replies      
One would imagine that he could get his hands on a cellular modem or a WiFi signal if he really wanted to.
nickysielicki 1 day ago 3 replies      
HN was particularly skilled at seeing through the FUD around the FBI iPhone crack, and this forum has also held a healthy skepticism for the way in which the FBI was able to break Tor and find DPR of Silk Road. I don't think it's an outrageous claim to say that in general, a sizable portion of this website (though perhaps still a minority) believes that the FBI has historically held-back information to the point of it being dishonest-- particularly with regards to statements they make around technology. Is that fair to say?

In the interest of full disclosure, I tend to lean more conservative than most people, especially relative to HN. So maybe I have my partisan goggles on here, but why are so many people buying into the idea that there is solid evidence that Russia is actually behind these leaks?

Details are incredibly hard to come by. Try doing a Google search and look for yourself. You'll find dozens of articles that rehash the joint DHS and FBI statement (dare I link to submarine.html?), and after a couple pages you'll find their statement itself, but none of these articles or statements contain actual details for why they believe what they believe around these more recent hacks, which, to me, is indicative of a huge problem in and of itself with our media-- not (necessarily) bias like the Trump camp is saying, but simply a lack of basic technical intuition to question a basic premise. It happened with the iPhone, it happened (to a lesser degree) with Silk Road, and I think it's happening here, too.

Pew research from 2014 said there was a little bit under 4MM people working in the tech sector in the US. For comparison, a quick Google suggests suggests there are roughly 1.25MM lawyers in this country. And yet, when a controversial court decision is made and journalists are expected to write on it, the press generally is able to grok the arguments made and summarize it in some form. If a presser is held, they are capable of asking relevant questions and challenging things. I don't think that's the case when it comes to anything related to computers, and I think that's indicative that our liberal arts colleges are failing to stay up-to-date. They are creating well-rounded individuals that are prepared for life in the 1990's. If you go to J-School, you get a short but sweet background in political science and maybe some philosophy and maybe even logic... But as far as I'm aware, if you don't graduate with a degree in CS, everything that you understand about computers is done on your own time, and that's not hyperbole.

Anyway, as I understand it, the DHS and FBI believed that the DNC leaks came from Russia entirely because some tools were left behind on a couple vulnerable machines, and these tools were used before by Russian state actors. I think I read somewhere that there was an IP embedded within these tools that had been used by Russia before... So the narrative is basically that these professional state-backed hackers did not try to mask their identity whatsoever, and left a card saying, "Russia wuz h3r3, lel!". And to be clear, maybe that's 100% what happened. I don't know! But the point I'm trying to make is that I don't think anyone can say that they "know" who was behind these hacks with any kind of confidence.

And I can understand why that would be good enough for journalists who don't know better. And with the media reporting this so widely, I can understand how this would permeate into the general population. But I think a lot of Hillary supporters around here are subduing their skepticism to avoid cognitive dissonance, and I think that sucks.

known 1 day ago 1 reply      
How can we protest?
puppetmaster3 1 day ago 0 replies      
Question to Hillary: Isn't it a fact that the product that U are actually selling is US government policy?
freeusa 2 days ago 0 replies      
Assange rape is an allegation only. Current U.S. administration ignores U.S. constitution. This smells of support for Hillary Clinton, not justice for Assange.
Yetanfou 1 day ago 5 replies      
Sweden has hunted Assange for 6 years for the 'crime' of being promiscuous with the wrong women. Oh, and he did not use a condom, but the 'rape victim' still did not mind having dinner with him afterwards. Only later when those two women who thought they'd scored a celebrity found out he'd been rather generous in dealing out his celebrity amongst those who offered him hospitality did they come with a claim of rape. Should he have used a condom? Yes, if only to protect both himself as well as his partners from whatever they managed to share amongst them. Does this constitute rape? Given the fact that they'd had intercourse several times before during the same night I don't the claim would stick.

Meanwhile 5 rape suspects were released without even being indicted because the rape victim - a 33yo physically handicapped (wheelchair-bound) Swedish woman - did not 'resist enough' for the allegations of rape to stick, according to the prosecutor [1]. Might it be so that a physically handicapped woman has problems 'resisting enough' due to her handicap and the position in which she was placed - in the toilet, out of reach of her wheelchair?

So, Sweden, please define rape for us uninformed bystanders. If forcing a handicapped woman to have sexual intercourse with up to 6 men (5 of whom were arrested, the sixth was never taken) is NOT rape but having more sex with a willing partner who was fine with having sex before IS rape we do need some guidance to know what is right and what is wrong there. It would be good to know given that I live in Sweden, maybe I'm guilty of something I did not realise before?

[1] https://www.google.se/search?q=rape+gotland+wheelchair (pick your source)

dominotw 1 day ago 2 replies      
This story keeps getting flagged as a dupe.


for another thread that was on front page when most of US was asleep


Mods, would it possible to keep this story up?

dbg31415 1 day ago 0 replies      
To anyone thinking of voting for HRC... I get it, she's ostensibly better than Trump.

But she's still horrible. We have serious problems, problems that will destroy all faith in Government, if left unchecked -- and problems HRC won't address because she's too busy exploiting and expanding them.

She prefers 0 transparency -- this runs in total contradiction to democratic values. Anyone who opposed the levels of secrecy under Bush / Cheney should also oppose HRC.

The choice isn't Trump or HRC, the choice is to vote your conscience.

* Hillary Clinton Liked Covert Action if It Stayed Covert, Transcript Shows - The New York Times || http://www.nytimes.com/2016/10/17/us/politics/hillary-clinto...

* Stone: Secrecy is the Enemy of Democracy | University of Chicago Law School || http://www.law.uchicago.edu/news/stone-secrecy-enemy-democra...

colordrops 1 day ago 2 replies      
throwawayIndian 1 day ago 6 replies      
marketanarchist 1 day ago 3 replies      
Alex3917 1 day ago 3 replies      
marcoperaza 1 day ago 1 reply      
My guess is that the US is applying pressure on Ecuador. They want the leaks to stop.

Ecuador already has incentives to stop helping Trump, as Trump has recently taken a hard line against Latin American strongmen, of which Correa, President of Ecuador, is one. Some assurances from Hillary, and threats from Obama, could have been enough to push him over.

I imagine that one of the currently unspoken fears that the Democrats have with wikileaks is that they've built up immense credibility and could choose to cash it in by dropping a fake leak a day or two before the election. Or they could drop an incredibly damaging REAL leak, which is even scarier for the Democrats. There's no doubt that the Clintons have skeletons in their closet.

What I find extremely disturbing is that Obama was fine with RT and Wikileaks when they were mostly advancing the then-leftist agenda of better relations with Russia and US non-interventionism. Now that things have shifted and they are now undermining Obama's agenda and chosen successor, he's suddenly discovered his inner cold warrior.

The real winner here is Mitt Romney. The Democrats mocked him, nothing short of laughing in his face, when during the 2012 election he said Russia was our biggest geopolitical threat. Obama, around the same time, was caught telling the Russians he could be "more flexible after the election". They took that flexibility and marched all the way into Ukraine, Syria, and (allegedly) DNC and Clinton email servers with it. Obama owes him an apology.

VertexRed 1 day ago 1 reply      
Shouldn't be too difficult to surpass by temporarily using mobile data or setting up an antenna for long-range wifi.
DominikR 2 days ago 1 reply      
Pure coincidence I'm sure. It's got nothing to do with protecting Hillary Clinton and claims by many (including Matt Drudge, Milo Yiannopoulos) that today some kind of sex tape (lesbian) of her is going to leak.
brooklyndude 2 days ago 0 replies      
I'm just so over Assange. Good. Cut his damn internet access. He's really starting to remind of that kid who just bugs you so much. Just go away please.

That gigabyte file he's holding onto? Supposed to be a bunch of cat gifs, or so an "insider" told me.

handelaar 1 day ago 1 reply      
He is, at the instigation of a hostile foreign government, eyeball-deep in criminal activity designed to interfere with a democratic election being conducted by an Ecuadorean ally.

Cut off his wifi? Little toad is lucky they just don't boot him out onto the pavement.

johansch 2 days ago 1 reply      
More speculation:


"Rumors that Pamela Anderson 'fatally poisoned Julian Assange with vegan meal' spread after 'coded' Wikileaks tweets lead to speculation that he triggered 'dead man's switch'"

ewr24 2 days ago 1 reply      
Lets not forget why he is there. No internet access seems like very little punishment for what he did.
Ask HN: How to get started with machine learning?
907 points by georgehdd  4 days ago   122 comments top 52
jotto 4 days ago 6 replies      
If you want to jump right in with "hello world" type TensorFlow (a tool for machine learning), see https://news.ycombinator.com/item?id=12465935 (how to fit a straight line using TensorFlow)

If you like to study/read: the famous Coursera Andrew Ng machine learning course: https://www.coursera.org/learn/machine-learning

If you just want course materials from UC Berkeley, here's their 101 course: https://news.ycombinator.com/item?id=11897766

If you want a web based intro to a "simpler" machine learning approach, "decision trees": https://news.ycombinator.com/item?id=12609822

Here's a list of top "deep learning" projects on Github and great HN commentary on some tips on getting started: https://news.ycombinator.com/item?id=12266623

If you just want a high level overview: https://medium.com/@ageitgey/machine-learning-is-fun-80ea3ec...

stared 4 days ago 0 replies      
I wrote a blog post exactly on that: http://p.migdal.pl/2016/03/15/data-science-intro-for-math-ph...(including the data science part).

I strongly advice for:

- using Python in the interactive environment Jupyter Notebook,

- starting with classical machine learning (scikit-learn), NOT from deep learning; first learn logistic regression (a prerequisite for any neural network), kNN, PCA, Random Forest, t-SNE; concepts like log-loss and (cross-)validation,

- playing with real data,

- it is cool to add neural networks afterwards (here bare TensorFlow is a good choice, but I would suggest Keras).


- http://www.r2d3.us/visual-intro-to-machine-learning-part-1/

- http://hangtwenty.github.io/dive-into-machine-learning/

- https://github.com/leriomaggio/deep-learning-keras-euroscipy...

nl 4 days ago 2 replies      

Instead, learn decision trees and more importantly enough statistics so you aren't dangerous.

Do you know what the central limit theorem is and why it is important? Can you do 5-fold cross validation on a random forest model in your choice of tool?

Fine, now you are ready to do deep learning stuff.

The reason I say not to do neural networks first is because they aren't very effective with small amounts of data. When you are starting out you want to be able to iterate quickly and learn, not wait for hours for a NN to train and then be unsure why it isn't working.

allenleein 4 days ago 1 reply      
Courses You MUST Take:

1. Machine Learning by Andrew Ng (https://www.coursera.org/learn/machine-learning) /// Class notes: (http://holehouse.org/mlclass/index.html)

2. Yaser Abu-Mostafas Machine Learning course which focuses much more on theory than the Coursera class but it is still relevant for beginners.(https://work.caltech.edu/telecourse.html)

3. Neural Networks and Deep Learning (Recommended by Google Brain Team) (http://neuralnetworksanddeeplearning.com/)

4. Probabilistic Graphical Models (https://www.coursera.org/learn/probabilistic-graphical-model...)

4. Computational Neuroscience (https://www.coursera.org/learn/computational-neuroscience)

5. Statistical Machine Learning (http://www.stat.cmu.edu/~larry/=sml/)

If you want to learn AI:https://medium.com/open-intelligence/recommended-resources-f...

krapht 4 days ago 3 replies      
My favorite textbook: Elements of Statistical Learning by Hastie. It's free, too!

If you don't understand something in the book, back up and learn the pre-reqs as needed.


leftpad 3 days ago 0 replies      
It depends on what your goals are. If you'd like to become an ML Engineer or Data Scientist, Tensorflow should be last thing you learn. First, develop a solid foundation in linear algebra and statistics. Then, familiarize yourself with a nice ML toolkit like Scikit-Learn and The Elements of Statistical Learning (which is free online). The rest is a distraction.

In addition to the linear algebra and statistics MOOCS mentioned, I'll also add:

* No bullshit guide to Linear Algebra: https://gumroad.com/l/noBSLA

* Statistical Models: Theory and Practice: https://www.amazon.com/Statistical-Models-Practice-David-Fre...

krosaen 3 days ago 2 replies      
I took the summer off to learn enough ML to transition from a career in software engineering & product / leadership type roles to ML. I suggest for a first round learning practical tools and techniques so you can start applying supervised learning techniques right away while also starting to build a more solid foundation in probability & statistics for future deeper understanding of the field. I've written about my curriculum here with lot's of specific resources here:


carriger99 4 days ago 0 replies      
I very much like Michael Nielsen's book Neural Networks and Deep Learning. It has a great introduction with examples and code you can run locally. Really nice to get started. http://neuralnetworksanddeeplearning.com

Also Fermat's Library is going to be annotating the book, which should make it even more accessible: http://fermatslibrary.com/list/neural-networks-and-deep-lear...

hrzn 4 days ago 0 replies      
Gain background knowledge first, it will make your life much easier. It will also make the difference between just running black box libraries and understanding what's happening.Make sure you're comfortable with linear algebra (matrix manipulation) and probability theory. You don't need advanced probability theory, but you should be comfortable with the notions of discrete and continuous random variables and probability distributions.

Khan Academy looks like a good beginning for linear algebra:https://www.khanacademy.org/math/linear-algebra

MIT 6.041SC seems like a good beginning for probability theory:https://www.youtube.com/playlist?list=PLUl4u3cNGP60A3XMwZ5se...

Then, for machine learning itself, pretty much everyone agrees that Andrew Ng's class on Coursera is a good introduction:https://www.coursera.org/learn/machine-learning

If you like books, "Pattern Recognition and Machine Learning" by Chris Bishop is an excellent reference of "traditional" machine learning (i.e., without deep learning).

"Machine Learning: a Probabilistic Perspective" book by Kevin Murphy is also an excellent (and heavy) book:https://www.cs.ubc.ca/~murphyk/MLbook/

This online book is a very good resource to gain intuitive and practical knowledge about neural networks and deep learning:http://neuralnetworksanddeeplearning.com/

Finally, I think it's very beneficial to spend time on probabilistic graphical models. Here is a good resource:https://www.coursera.org/learn/probabilistic-graphical-model...

Have fun!

Theodores 4 days ago 0 replies      
I think you should start with a real world problem that is really important to a company that you work for. The problem might be one common to many businesses but unique to that business. For instance, demand forecasting, every business is different as are the signals needed for accurate demand forecasting.

So you could start with some really simple example code for demand forecasting but where you put in your data and your signals. In this way you can learn what you need to solve a particular problem, 'getting lucky' from only having to adapt examples. Sure it might be nice to learn all the fundamentals first but it is sometimes nice to scratch an itch, every company has plenty, choose one and see how far you get and learn along the way.

mindcrash 3 days ago 0 replies      
This link appeared on HN a few days ago:


Has some great links if you already have some knowledge about software engineering and want to get into Machine Learning

Josh Gordon from Google also has a extremely nice handson "how to start with Machine Learning" course on YouTube featuring scikit-learn and TensorFlow:


barbolo 4 days ago 0 replies      
If you are interested in deep learning or visual problems, I recommend the notes at:


Really great content from Andrej and his coworkers. This guy is great.

You can easily find all classes videos on YouTube too.

jps359 3 days ago 0 replies      
Get some background knowledge; I think with a topic like machine learning it's important to understand why certain algorithms work better than others on different kinds of data. I would recommend following a structured course. Andrew Ng's, or the UC berkley one are good. Tom Mitchell's Machine Learning book is a great intro too to supplement the online course of your choice.

If you're a python dev, maybe download scikit-learn and see what kinds of things you can put together after a few lectures.

NicoJuicy 4 days ago 2 replies      
I'd be more interested in real life results on a small scale first.

I too felt like ML is something new to try, but the lack of real world use cases on a small scale ( not google, Microsoft, ... ) Has kept me from trying/doing.

I only saw the farm with image recognition for vegetables as an example for now.

Anyone has other examples?

caretStick 3 days ago 1 reply      
Newton's method and other numerical methods are the hello world of machine learning.

Why numerical methods?

* They might produce the right answer

* They frequently do

* They are easy to visualize or imagine

* You get used to working with a routine that is both fallible but quite simple and remarkably able to work in a wide variety of situations. This is what machine learning does, but there are more sophisticated routines.

At some point you need to make a decision to go down the road more focused on analysis & modelling vs machine learning & prediction. It's not that the two are exclusive, but they really do seek to address really big forks in the problem space of using a computer to eat up data and -- give me predictions or give me correct answers

Google needs lots of prediction to fill in holes where no data may ever exists. Analysis and modeling can really fall down when there is no data to confirm a hypothesis or regress against.

An engineer needs a really good model or the helium tank in the Falcon 9 will explode one time in twenty vs one time in a trillion. The model can predict, based on the simulation of the range of parameters that will slip through QA, how many tanks will explode. Most prediction methods are not trying to solve problems like this and provide little guidance on how to set up the model.

On the prediction side, you will learn all the neural net and SVM stuff.

On the analysis and modelling side, get ready for tons of probability and Monte Carlo stuff.

They are all fun.

markatkinson 4 days ago 0 replies      
Skimmed through this and didn't see Kaggle. They have a great intro competition to take part in. Great community and great way to get stuck in. https://www.kaggle.com
YeGoblynQueenne 2 days ago 0 replies      
By all means get some "background knowledge" (linear algebra, statistics, calculus etc), play around with libraries and follow some MOOC, but primarily I'd suggest you go get yourself a post-graduate degree from a brick-and-mortar university, and in a course called "Data Science" or "Artificial Intelligence" and the like.

You can learn on your own, of course, but a university course will focus your learning, provide rich feedback, and give you a strong foundation on which to build. You'll also get to learn from other students, which is not often the case in MOOCs. And there's nothing like having a teacher on your payroll (which is essentially what paying for a course is) to answer your questions, clarify obscure areas in books and generally support you throughout the course.

For the record- I did exactly what I say above. After five years working in the industry as a dev, I took a Masters part-time, sponsored by my employer. I think I got a good foundation as I say above, and I certainly didn't have the time, or the focus, to learn the same things on my own.

And I did try on my own, with MOOCs-and-books for a while. I did learn useful stuff (the introductory AI course from Udacity for instance, was really helpful) but after starting the Masters it felt like all this time I'd been crawling along without aim, and now I was running.

wangchow 3 days ago 0 replies      
While some people might not agree with me, I'd say focus on the Math. Machine learning may be easy to use with these toolkits but doing something useful with it will require deeper understanding.
nefitty 4 days ago 0 replies      
Here's a previous Ask HN with more resources: https://news.ycombinator.com/item?id=12374837
luisguiserrano 14 hours ago 0 replies      
Here's a friendly introduction to the main concepts of machine learning. No background required. (Feedback is always welcome!)https://www.youtube.com/watch?v=bYeteZQrUcE&list=PLAwxTw4SYa...
udayj 4 days ago 0 replies      
Some resources to get you started - not including any coursera or udacity courses since others have already mentioned it.

Mathematical Monk - https://www.youtube.com/user/mathematicalmonk#p/c/0/ydlkjtov... (includes a probability primer)

Awesome Courses - https://github.com/prakhar1989/awesome-courses - its a very extensive list of university courses including subjects apart from Machine Learning as well

Programming Collective Intelligence - http://www.amazon.com/programming-collective-intelligence-bu... - heard very good reviews about this

Many other resources available apart from the above. You can access more such resources at http://www.tutorack.com/search?subject=machine%20learning

I think its a good idea to go through one or more beginner level courses like that offered by Andrew Ng on Coursera and then do an actual project.

[Disclaimer - I work at tutorack.com mentioned in the comment]

diggernaut 4 days ago 0 replies      
You can start with free coursera course https://www.coursera.org/learn/machine-learning/, it starts 17 oct

and then continue with https://www.coursera.org/learn/neural-networks/

AndrewKemendo 4 days ago 0 replies      
This specific topic/question comes us frequently enough that I feel like we should either make this thread the canonical answer or have another pointer that we can generally agree upon to point people in that direction.

I think it's important for people to know where to go for good resources, but this exact question keeps coming up incessantly.

slantaclaus 4 days ago 0 replies      
Take a class on linear algebra. Learn how to use matlab or octave. Knowing these two interdependent subsets of knowledge before diving into machine learning is absolutely indispensable as far as I can tell. I would've gotten so much more out of Ng's class if I knew this stuff beforehand
canada_dry 3 days ago 0 replies      
If you're wanting to do ML text processing using python (ala NLTK) I recommend: http://textblob.readthedocs.io/en/dev/index.html
cconroy 4 days ago 0 replies      
To get intuition and the right foundation read Society of Mind. For me the book is more about thinking in terms of computation which is what (IMO) ML is about instead of statistics (of which is important to know too!).

Now practical: I think the best way to learn is pick an algorithm & representation and implement it in your favorite language. Bonus if you have your own language to work with.

I would start looking into Decision Trees first, implement them and then implement some use cases(, which follow after implementing them). Do this for other approaches, like ANN, which you can have it beat you at checkers which is strangely satisfying.

But keep in mind Minsky. I think he is like Archimedes doing "Calculus"-type approaches without fully realizing. Maybe you could be Newton?

BickNowstrom 3 days ago 0 replies      
Everybody learns differently, but I would suggest starting with the how, not the what. Compare: How do I sort a list? With: What is exactly happening when I sort a list? Application before theory.

Start with a tutorial/pre-made script for one of the Kaggle Knowledge competitions. Move on to a real Kaggle competition and team up with someone who is in the same position on the learning curve as you. Use something like Skype or a Github repo to learn new tricks from one another.

marknadal 4 days ago 0 replies      
There is a great introductory article with examples on how the reasoning behind distributed machine learning works. All in javascript too! It might be "too early" for some people though: http://myrighttocode.org/blog/artificial%20intelligence/part...
tedmiston 3 days ago 0 replies      
Here's an alternative suggestion try a machine learning contest on one of the programming challenge problem sites.

HackerRank (YC S11) has one coming up in 2 weeks (filter by Domains > AI) [1].

I plan to participate as well just to explore the space. Feel free to shoot me a message if you'd like to discuss more.

[1]: https://www.hackerrank.com/contests

JoeDaDude 4 days ago 0 replies      
A good start in "classical" methods" (i.e.: before deep learning and convolutional neural networks) is the old standby, the Weka Data Mining library [1]. Along with the textbook, it will make you comfortable with methods like k-nearest neighbor, support vector machines, decision trees, and the like.

[1] http://www.cs.waikato.ac.nz/ml/weka/

master_yoda_1 4 days ago 1 reply      
How is your programming background? Do some contest on hackerrank and gauge your skill because machine leaning uses lots of algorithm from math + computer science (eg computational geometry).Machine learning is basically writing some math in code and running experiment and statistically reason about result. If you really want to do that then you need to have a background in math + statistics + software development.
nubbel 4 days ago 0 replies      
I liked this one quite a lot: http://neuralnetworksanddeeplearning.com
rsmsky1 3 days ago 0 replies      
I highly recommend the Udacity courses on machine learning. They even have ones on how to become a self driving car engineer.
asadlionpk 4 days ago 0 replies      
If you just want to jump right in with minimal theory and then learn as you progress. Here is how I did it: https://blog.asadmemon.com/shortest-way-to-deep-learning-41e...
rayalez 4 days ago 0 replies      
I have compiled a list of the best resources for getting started with ML, I highly recommend it, it is a great place to get started:


dekhtiar 3 days ago 0 replies      
You will find absolutely everything you need here : https://www.feedcrunch.io/@dataradar/. Just type what you want to know in the search engine.

i.e : Tutorial, Getting Started, ...

nerdponx 4 days ago 0 replies      
Learn statistics. Otherwise you will get yourself into trouble using techniques you do not understand.
ptrkrlsrd 4 days ago 0 replies      
This is a great article about learning machine learning: https://medium.com/learning-new-stuff/machine-learning-in-a-...
z4n 4 days ago 0 replies      
udacity free machine learning course is a nice way to get the basics https://www.udacity.com/course/intro-to-machine-learning--ud...
nothing123 3 days ago 0 replies      
There is a nice example of machine learning with python and R in Analytics Vidhya and other tutorials, also ISLR introduction to statistical learning with R gives you an overview of some standard methods.
dschiptsov 3 days ago 0 replies      
The classic Andrew Ng's course on Coursera. Then ML courses on Udacity.
anondon 4 days ago 1 reply      
Slight tangent, so bare with me. Every other week, posts such as this come up, asking how to learn X, so I was wondering if there is any Github repo or some website that keeps track of all the resources posted here?
visarga 3 days ago 0 replies      
You need to learn the basic concepts before you start with coding. Take your time and view Andrew Ng's course. It is good for the first timers.
alexott 3 days ago 0 replies      
ML class by Andrew Ng is a good start.Then find task with application of ML, or use Kaggle...
jorgemf 4 days ago 0 replies      
It depends on what you really want to do in the future. Learning a framework could be useless if you don't know how to do correctly basic things as creating a train, test and validation set.

There are basic things I think you must know before jumping into a framework or int any specific algorithm. First thing you probably will have to do is to collect the data and clean it. In order to do this correctly you need some basic statistics. For example you need to know what is a gaussian distribution and collect samples in a way that are representative of your problem. Then you may need to clean the samples, remove outlines, complete blank data, etc. So it is basic you know some statistics to do this right.I have seem people with a lot of knowledge of tools than then they are not able to create a train/test/validation set correctly and the experiment is completely invalid from here no matter what you do next (http://stats.stackexchange.com/questions/152907/how-do-you-u..., https://www.youtube.com/watch?v=S06JpVoNaA0&feature=youtu.be ). You also need to know how are you going to test your results, so again you need to know how to use a statistical test (f-test, t-test). So first thing, jump into statistics to understand your data.

The next step I think is to know some common things in machine learning as the no free lunch theorem, curse of dimensionality, overfitting, feature selection, how to select the current metric to asses your model and common pitfalls. I think the only way to learn this is reading a lot about machine learning and making mistakes by your own. At least now you have some things to search in google an start learning.

The third step would be to understand some basic algorithms and get the feeling of the type of algorithms, so you know when a clustering algorithm is needed or your problem is related classification or with prediction. Sometimes a simple random forest algorithm or logistic regression is enough for your problem and you don't need to use tensorflow at all.

Once you know the landscape of the algorithms I think it is time to improve your maths skills and try to understand better how the algorithms works internally. You might not need to know how a deep network works completely, but you should understand how a neural network works and how backpropagation works. The same with algorithms as k-means, ID3, A*, montecarlo tree search or most popular algorithms that you are probably are going to use in day to day work. In any case you are going to need to learn some calculus and algebra. Vectors, matrix and differential equations are almost everywhere.

You would probably have seen some examples when learning all the stuff I talked about, then it is time to go to real examples. Go to kaggle and read some tutorials, read articles about how the community of kaggle has faced and winning the competitions. From here is just practice and read.

You can jump directly into a framework, learn to use it, have 99% accuracy in your test and 0% accuracy with real data. This is the most probably scenario if you skip the basic things of machine learning. I have seen people doing this and end up very frustrated because they don't understand how their awesome model with 99% accuracy doesn't work in the real world. I have also seen people using very complex things as tensorflow with problems that can be solved with linear regression. Machine learning is a very broad area and you need maths and statistics for sure. Learn a framework is useless if you don't understand how to use it and it might lead you to frustration.

laichzeit0 4 days ago 2 replies      
You should have the equivalent of an undergraduate degree in mathematical statistics (calculus, linear algebra, et al). It should take about 4 years of full time study to achieve that.

Forget about the code part. It's the least difficult part.

1_over_n 2 days ago 0 replies      
IMO the best way to get started (like with anything) is by getting started. I think the way you make progress is going to come down to you personally as an individual and what your motivations are. Before learning ANYTHING new i would invest some time in learning how to learn. There is a good coursera course on this https://www.coursera.org/learn/learning-how-to-learn and the book by the course authors is incredibly useful for putting a framework with some techniques that can help the approach to learning any new skill. This is not meant to be condescending advice but for me personally it's changed the way i go about learning any new skill now.

I think as well it really depends where you are coming from / what your background is. The reason i say this is i have recently gone through a similar transition into machine learning 'from scratch' except once i got there i realised i knew more than i thought. My academic background is in psychology / biomedical science which involved a LOT of statistics. From my perspective once i started getting into the field i realised there are a lot of things i already knew from stats with different terms in ML. It was also quite inspiring to see many of the eminent ML guys have backgrounds in Psychology (for instance Hinton) meaning i felt perhaps a bit more of an advantage on the theoretical side that many of my programming peers don't have.

I realise most people entering the field right now have a programming background so will be coming at things from an opposite angle. For me i find understanding the vast majority of the tests and data manipulation pretty standard undergraduate stuff (using python / SK Learn is incredible because the library does so much of the heavy lifting for you!). Where i have been struggling is in things that an average programmer probably finds very basic - it took me 3 days to get my development environment set up before i could even start coding (solved by Anaconda - great tool and lessons learned). Iterating over dictionaries = an nightmare for me (at first anyway, again getting better).

I think (though i may be biased) it's easier to go from programming to ML rather than the other way around because so much of ML is contingent on having decent programming skills. If you have a decent programming skill set you can almost 'avoid' the math component in a sense due to the libraries available and support online. There are some real pluses to ML compared to traditional statistics - i.e. tests that are normally ran in stats to check you are able to apply the test (i.e. shape of the data: skewness / kurtosis, multicollinearity etc) become less of an issue as the algorythms role is to deliver an output given the input.

I would still recommend some reading into the stats side of things to get a sense of how data can be manipulated to give different results because i think this will give you a more intuitive feel for parameter tuning.

This book does not look very relevant but it's actually a really useful introduction to thinking about data and where the numbers we hear about actually come from


In conclusion if you can programme and have a good attitude towards learning and are diligent with efforts I think this should be a simple transition for you.

neelkadia 3 days ago 0 replies      
dlo 3 days ago 0 replies      
Contrary to the other advice around here, I would strongly advise NOT taking a course. I think it is a good idea at some point, but it is not the first thing you should be doing.

The very first thing you should do is play! Identify a dataset you are interested in and get the entire machine learning pipeline up and running for it. Here's how I would go about it.

1) Get Jupyter up and running. You don't really need to do much to set it up. Just grab a Docker image.

2) Choose a dataset.

I wouldn't collect my own data first thing. I would just choose something that's already out there. You don't want to be bogged down by having to wrangle data into the format you need while learning NumPy and Pandas at the same time. You can find some interesting datasets here:


And don't go with a neural net first thing, even though it is currently in vogue. It requires a lot of tuning before it actually works. Go with a gradient-boosted tree. It works well enough out of the box.

3) Write a classifier for it. Set up the entire supervised machine learning pipeline. Become familiar with feature extraction, feature importance, feature selection, dimensionality reduction, model selection, hyperparameter tuning using grid search, cross-validation, ....

For this step, let scikit-learn be your guide. It has terrific tutorials, and the documentation is a better educational resource than beginning coursework.


4) Now you've built out the supervised machine learning pipeline all the way through! At this point, you should just play:

4a) Experiment with different models: Bayes' nets, random forests, ensembling, hidden Markov models, and even unsupervised learning models such as Guassian mixture models and clustering. The scikit-learn documentation is your guide.

4b) Let your emerging skills loose on several datasets. Experiment with audio and image data so you can learn about a variety of different features, such as spectrograms and MFCCs. Collect your own data!

4c) Along the way, become familiar with the SciPy stack, in particular, NumPy, Pandas, SciPy itself, and Matplotlib.

5) Once you've gained a bit of confidence, look into convolutional and recurrent neural nets. Don't reach for TensorFlow. Use Keras instead. It is an abstraction layer that makes things a bit easier, and you can actually swap out Tensorflow for Theano.

6) Once you feel that you're ready to learn more of the theory, then go ahead and take coursework, such Andrew Ng's course on Coursera. Once you've gone through that course, you can go through the course as it actually has been offered at Stanford here (it's more rigorous and more difficult):


I will also throw in an endorsement for Cal's introductory AI course, which I think is of exceptionally high quality. A great deal of care was put into preparing it.


There are other good resources that are more applied, such as:


I hope this helps. What I am trying to impart is that you will understand and retain coursework material better if you've already got experience, or better yet, projects in progress that are related to your coursework. You don't need to undergo the extensive preparation that is being proposed elsewhere before you can start PLAYING.

Amy Goodman Is Facing Prison for Reporting on the Dakota Access Pipeline thenation.com
616 points by joshfraser  2 days ago   141 comments top 28
abalone 2 days ago 2 replies      
25 years ago Amy Goodman very narrowly avoided execution while covering the Indonesian occupation of East Timor.[1] Her brave reporting brought attention to one of the worst atrocities relative to population of our lifetimes, in which perhaps a quarter of the population were killed by Indonesian forces with weapons supplied by the United States. Prior to this any mention of East Timor was pretty much mocked and there was a total media blackout on the U.S. role in supporting Indonesia's brutal government.

I think she can handle this one.

[1] http://m.democracynow.org/stories/7169

mark_l_watson 2 days ago 3 replies      
I am ashamed that this is happening in my country to both Goodman and another reporter. The corruption here is a deep and festering sore. Officials who play lackies to corporate interests are the ones who should go to jail.

The only thing that I can suggest is that we contact our congressional representatives and ask them why reporters are being arrested for doing their jobs.

EDIT: I just emailed my congressional representative. Easy to find your representative: http://www.house.gov/representatives/find/

r00fus 2 days ago 4 replies      
This is clearly an attack on the foundations of reporting and freedom of the press.

Goodman tries the hardest of any reporter I know to be objective about the facts. It's going to be a big stretch to call her a "protester".

walterbell 2 days ago 0 replies      
FAQ on Dakota Access Pipeline and the Standing Rock Sioux Tribes lawsuit, http://earthjustice.org/features/faq-standing-rock-litigatio...

Related legal history: "Doctrine of Discovery", https://en.wikipedia.org/wiki/Discovery_doctrine

grecy 2 days ago 0 replies      
> According to Erickson, a woman who appeared at a protest carrying a microphone emblazoned with the name Democracy Now! and trailing a video crew; who can be heard in the resulting video report identifying herself to a security guard as a reporter; and who then broadcast the video on the daily news program she has hosted for 20 years is not actually a journalist. She is not a journalist, because she harbors a strong perspective, and that perspective clashes with his own.

Sooner or later regular citizens are going to apply this same logic, and realize that uniformed, badge carrying police are not actually police, but are actually terrorists.

I shudder to think what will happen when that day comes.

wazoox 2 days ago 0 replies      
My analysis is as follows: everywhere around the world big corps are pushing their agenda against the environment, freedom and the people. You can see it happening in the US, in Canada, in France, in Germany, in Gabon, in Brazil, everywhere. But people realise more and more that the global ecosystem is on the brink of collapse, that no "value for shareholders" can justify literally destroying the world.
aorth 2 days ago 0 replies      
The transcript of her reporting from that day is alarming.


X86BSD 2 days ago 0 replies      
This is fucking disgusting. I've watched Amy for years on Democracy Now! look her up on Wikipedia. She has gone through some serious shit reporting in her lifetime. She deserves a Pulitzer prize IMO. The thug state brandishes its billy club on her AGAIN. Appalling.
slantedview 2 days ago 0 replies      
The Taibbi article cited in thenation piece is well worth reading:


kbenson 2 days ago 1 reply      
While I agree that journalists should have protections, and think Amy Goodman should not be prosecuted, I have some issues with how this article is presented.

The scene was full of movement. Overhead, a helicopter hovered, circled, while back on the ground, protesters began to report burning eyes, and dogsdogs lurching at protesters, dogs straining against their leashes, dogs with mouths open, mouths biting.

Is that what the protesters were reporting, that dogs were straining, dogs had their mouths open, that dogs were biting, or is this a bit or artistic license? If it's the former, it's just sloppy writing, as it's hard to parse. If it's the latter, it appears to be a blatant attempt to influence through emotion. This case is sound based on it's importance and the law, and there's no need to fictionalize an account in an informative piece, so I hope that's not what this was.

Thus far, the North Dakota authorities remain committed to their own embarrassment

It's not embarrassment if they think they should do it. They are committed to their course. Wording such as this implies they know they are wrong but are doing it anyway, as there's no reason to be embarrassed about doing what you perceive to be right.

I understand the author is a friend of Amy Goodman, and wants to help, but I prefer my journalism to at least attempt to preserve the facade of objectivity. Without that, my natural inclination is to recoil (and thus the impetus for this comment is explained). I doubt I'm the only one, and what's more, people naturally inclined to take the other side now have something to point at as an indication that this whole piece is not objective and should be discounted.

Edit: I wouldn't mind an actual reply from someone that disagreed enough to down vote. At least then I would have an idea of why what I said (or at least how it was interpreted) was in any way controversial.

joesmo 2 days ago 0 replies      
Until there are consequences for the corrupt and inhumane prosecutor behavior we see today, we'll continue to see abuses much worse than this. Hold them responsible or they will enslave you. Unfortunately, America has chose slavery yet again.
throw2016 2 days ago 0 replies      
It is clear the 'international community', global media and concerned citizenry have erred in rushing to judgement and condemnation whenever Amnesty and other global NGOs file a report on protests and human rights abuse.

It appears the right approach is to debate the intricacies of the law and rules of trespassing. Since there has been a systemic failure to consider these important mitigating factors in the past, previous condemnations now stand null and void and will be reconsidered in light of these evolved methods of validating human rights abuse.

Of course some apologists would consider this as mere sophistry but its important to point out no one can defend breaking 'the law'. Is Assad really violating human rights or are protesters breaking Syrian law?

While it is true NGOs like Amnesty and Reporters Without Borders have shown an unbecoming lack of zeal when it comes to covering their home countries I have been assured it's entirely due to a lack of funds and the greater importance of defending human rights in the middle east and impoverished third world countries.

Anthony-G 1 day ago 0 replies      
Article update:

Case dismissed! On Monday, October 17, District Judge John Grinsteiner rejected the riot charge that had been leveled against Amy Goodman for her coverage of a September 3rd Dakota Access Pipeline protest. Standing before the Morton County courthouse, surrounded by supporters, Goodman said: It is a great honor to be here today. The judges decision to reject the States Attorney Ladd Ericksons attempt to prosecute a journalistin this case, meis a great vindication of the First Amendment. And she added: [W]e encourage all of the media to come here. We certainly will continue to cover this struggle.

eddieh 2 days ago 8 replies      
While it is pretty stupid that the state of North Dakota is issuing an arrest warrant for a journalist. I take issue with the sensational headline, she is facing 30 days in jail for misdemeanor trespassing. That isn't even remotely close to facing prison time.

Journalist don't have a right to trespass and there is precedent for criminal charges. Just a quick search brought up Arizona v. Wells. Wells trespassing seems minor in comparison what Goodman allegedly did. Goodman followed protestors into the construction area after "they broke down a wire fence by stepping and jumping on it".

I'm not defending either the state of North Dakota, the Sheriff's Department, or Goodman just stating some facts. Also IANAL.

EDIT: I'm sure a journalist can be charged with rioting too. If they can't prove trespassing, I'm not sure how they'll prove rioting. It is bullshit, but not without precedent. That's all I'm saying.

EDIT 2: This isn't a constructive discussion anymore. I'm only trying to bring up a different way of thinking about the issue, not everything is an affront on our rights. This may be a case of that, but it is at least in the interest of everyone to discuss it objectively. IDK, I'd probably just delete this comment if I could.

cprayingmantis 2 days ago 1 reply      
She was trespassing as she covered the news. She would've been fine if she hadn't stepped over the fence line. Look I get it freedom of the press is paramount to our democracy but you don't have the right to trespass covering a story. If that was the case think of all the trouble the paparazzi could give celebrities.
ChuckMcM 2 days ago 1 reply      
Sigh. A small jurisdiction is going to try to "put her in jail" but she will not have to stay in jail if the facts are as reported. She will make a first amendment claim, it will be upheld as it has been for literally centuries, and she will be acquitted and have a great story for her backgrounder.

Now if it comes out that the Sioux nation paid her to come out, and edited her material, and signed off on what she spoke about. Then her process will have some different tones and the story might involve being convicted of a misdemeanor.

But the story about attacking the press gets people who don't care about Native Americans or the ecological risk of pumping oil through pipelines engaged which swells the rageviews a bit on the article.

saynsedit 2 days ago 0 replies      
Happy to a see this trending on HN.
daveloyall 1 day ago 0 replies      
Has anybody heard about this story from anything other than HN?

Searching for her name doesn't count.

medicineturtle 2 days ago 0 replies      
Amy Goodman did her job and told the truthmedicine turtle cherokee
medicineturtle 2 days ago 0 replies      
Amy Goodman Is Facing Prison for Reporting on the Dakota Access Pipeline medicine turtle Cherokee she is a blessing
medicineturtle 2 days ago 0 replies      
Amy Goodman did her job and has the right to speak the newson truthmedicine turtle cherokee
the_duke 2 days ago 0 replies      
Land of the free...

Year to year, I get more and more disillusioned about the US. I think it's drifting in a very dangerous direction.

colsandurz 2 days ago 0 replies      
What can I do about this?
farahduane 2 days ago 3 replies      
Vote Green Party in November. That's what I'm doing. If you believe that voting Clinton will change any of this, you're very mistaken.
hiou 2 days ago 5 replies      
najdifb838593 2 days ago 0 replies      
What's up with all these news article titles? I can't take them seriously.

"This is super important."

"This matters."

"ABC just XYZ."

"ABC just XYZ. Here's why that matters."

Like no shit, isn't explaining how something happened and why it matters how articles work? It just makes it feel like a tabloid.

KevinEldon 2 days ago 4 replies      
Are journalists immune from laws? Which laws? What constitutes a journalist? These are the kinds of questions that courts sort out. Goodman isn't in jail. She now has a legal and public platform to defend her actions and position as a journalist. If you're doing journalism that is as aggressive and brave as the article suggests this is then you'd expect to get pushback. Thankfully we have laws, the First Amendment, and public courts so Amy Goodman wasn't just whisked away to serve her time in jail.
Disney Open Source disney.github.io
550 points by craigkerstiens  1 day ago   120 comments top 19
j0j0r0 1 day ago 4 replies      
I work there, and am on the Disney Open Source Committee!

We also just open sourced a hybrid public/private blockchain platform "Dragonchain" with some interesting features.


Architecture document: https://dragonchain.github.io/doc/DragonchainArchitecture.pd...

Code is newly released, and rough around the edges.We're working to get the docs up to par and some Docker containers ready for ease of use.Feedback is welcome.

lima 1 day ago 2 replies      
OpenSubdiv is a game changer in FOSS 3d software.

Blender is already using it: https://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.7...

Demo: https://youtu.be/dzIl_S-qHIQ?t=115

yazaddaruvala 1 day ago 4 replies      
Just an FYI: Always be careful!

I opened up a couple of these repos and some seem to have modifications on their licenses.

Some like OpenEXR say "BSD" but don't actually have a license file.

Others like, Ptex and Partio, have no mention of a license at all.

Edit: For anyone wondering why this is an issue. From a legal standpoint, there is a huge difference between being able to read the code, and being able to use the code.

dragonshed 1 day ago 3 replies      
The DIY style management software for OS X/macOS[1][2] is interesting. I knew commercial packages existed for this sort of thing (and more), but I'm fascinated that Disney admins & engineers chose to implement their own Software Update Servers.


mrcactu5 1 day ago 0 replies      
Pixar has a course through Khan academy. The algebra gets quite advanced!


I don't mind if the images are too realistic -- just some good shading here and there

Pulce 1 day ago 1 reply      
Good. I have downloaded and viewed a lot of WD movies with torrents (I'm a near homeless man in Italy, no money to buy/rent DVD). Now I can give back something contributing to the open source project.
jedberg 1 day ago 3 replies      
I as really hoping all the projects would be named after Disney characters, because it would be fun to say, "I think we should run Mickey, but we may need to fork Donald to make it work in our environment".
alexkavon 1 day ago 1 reply      
Can't wait for the Mickey Mouse repo in 2024.
curiouscat321 1 day ago 1 reply      
I hope Disney does more of this! They're a tech company in a lot of ways. I believe they're using Rails for their site (which would make it amongst the biggest Rails sites in the world) and I hope they release some Rails stuff too!
sarreph 1 day ago 0 replies      
After my microeconomics lectures, these are two words* I never thought I'd see together.[0]

[0] - https://en.wikipedia.org/wiki/Copyright_Term_Extension_Act

*Yes, I am treating 'Open Source' as one word, you 'Disney Open' trolls.

tajen 1 day ago 0 replies      
We don't need Disney to open-source their software. We need Volkswagen and various bogus companies to open-source the software of safety-sensitive material. Dangerous hardware, measurement tools (e.g. petrol stations, security cams), voting machines, droids... Disney's open-source is merely dry bread for the plebs: We'll take it but it's not advancing our situation.
6stringmerc 1 day ago 0 replies      
Oh, so that's what the replacements that Disney outsourced and canned those US professionals will be using? Maybe not the most polite type of joke, but hey, I just saw that a judge recently smacked down the class action the terminated employees had submitted (using sound logic).

Be wary of anything with Disney's fingerprints on it. They are - rightly or wrongly - seen as Public Enemy #1 to Copyright reform. Throwing some spare change into the pond of Open Source should be measured.

santaclaus 1 day ago 2 replies      
Super cool! I'd be curious to see what bits of software here are from WDAS vs ILM vs Pixar.
agentgt 1 day ago 1 reply      
I was expecting to see some Squeak links (OSS Smalltalk) but I guess no one at Disney is using it now? I think it was the Go.com group ala Alan Kay that was doing something with it internally (I'll need to do some googling but it appears the group moved to ycombinator according to wikipedia... my memory sucks).
zump 1 day ago 2 replies      
How can I apply for a job at Disney? Someone send me an email that won't lead to a black hole!!
smegel 1 day ago 0 replies      
They make light-hearted animations, but their software looks seriously hardcore.
baccredited 1 day ago 1 reply      

 1. Fire all the old programmers 2. Make them train their cheap H-1B visa replacements 3. Open source some code 4. Have a magical day!

gdamjan1 1 day ago 0 replies      
is it coincidence that disney gets on hacker news at the same time as they are"The empire strikes back: Disney to sue school that teaches lightsaber skills"http://www.theguardian.com/film/2016/oct/17/star-wars-disney...


shredwheat 1 day ago 2 replies      
This is a showcase of larger open source projects used in the visual effects and animation industry. Several of them are contributed to by Disney engineers, but most people would not consider these Disney projects. Disney has open sourced and released some impressive open source projects over the years, and it's exciting to see their endorsement on these others.
I Won $104M for Blowing the Whistle But Was the Only One Who Went to Jail melmagazine.com
454 points by monsieurpng  1 day ago   100 comments top 12
bradleybuda 1 day ago 2 replies      
A little more detail from a neutral source on why Birkenfeld was jailed: http://content.time.com/time/business/article/0,8599,1928897...
tptacek 1 day ago 4 replies      
This almost makes some kind of sense. The "whistleblower award" he got was the percentage of recovery the IRS pays as a bounty for intelligence on tax avoidance schemes; it's a portion of the money he actually helped recover for the government. There is a rational case to make for someone being both fully culpable for wrongdoing while still remaining entitled to bounties they've satisfied.

For another complicated IRS recovery bounty case, see the story about Vanguard's "internal whistleblower" who is making the case to the IRS that their cost-saving structure is an unfair advantage, and that they owe taxes on those savings to the government. If that "whistleblower" prevails, he'll have harmed the retirement savings of tens of millions of Americans, all of whom benefit from Vanguard's novel structure. But there you go!

As for this guy's superiors not being prosecuted, yeah, that sucks. The prosecutors can only make the cases they can make; this guy confessed.

guelo 1 day ago 2 replies      
It's worth noting that both Kathryn Keneally, the assistant attorney general mentioned in this article, and Kevin Downing, the lead prosecutor that got him jailed, both now work for private law firms helping large corporations shelter their taxes.
Green-Man 23 hours ago 0 replies      
"Ive tried to invest the reward money wisely. I collect Formula One memorabilia and antique hockey gear and sweaters from the NHLs Original Six teams."

I'm not sure if I understand the term "wisely" correctly.

intrasight 1 day ago 1 reply      
Whistle blowing is a total crap shoot. We'd have much more of it if that wasn't the case.
chc 1 day ago 3 replies      
It sounds like he didn't actually go to jail for the crime he blew the whistle on, per se, but for continuing to cover up part of the crime afterward by refusing to produce information they knew he had. Maybe all the folks who got non-prosecution agreements actually cooperated with investigators.
ipsin 1 day ago 0 replies      
I was so confused by the chronology, particularly with respect to smuggling diamonds in a toothpaste tube[1], which I'd read about previously.

What I can't figure out is if that evidence was actually retained and entered as evidence at trial, or if the image in the article I linked was a reconstruction.

[1] http://upstart.bizjournals.com/views/columns/2008/09/17/UBS-...

JakeAl 1 day ago 0 replies      
His book:http://lucifersbanker.com/

As secretary of state, in an unusual move Hillary Clinton intervened with UBS to help it out with the IRS and DOJ. He seems to imply that Hillary brokered the treaty to release the 52,000 names -- a deal which they backed out of citing Swiss law after only providing 4,500 names -- because of the global corporate elites tied to our government, politicians from all over the globe and CIA who would be implicated. He notes that the CIA funneled the money from Iran-Contra through a Swiss bank account, and the plane used to deliver the 400 million in unmarked cash to Iran came from Geneva. He also thinks it was the CIA that leaked the Panama Papers, selectively exposing names.

After Hillary's deal, the Swiss bank paid Bill Clinton $1.5 million for speaking gigs. Total donations by UBS to the Clinton Foundation grew from less than $60,000 through 2008 to a cumulative total of about $600,000 by the end of 2014, according the foundation and the bank.

There is no evidence of any link between Hillary's involvement in the case and the banks donations to the Bill, Hillary and Chelsea Clinton Foundation, or its hiring of Mr. Clinton. But her involvement with UBS is a prime example of how the Clintons' private and political activities overlap.

It should also be noted that in 2011 the Clinton Foundation announced a partnership with UBS on the CEO-UBS Small Business Advisory Program which connects "small businesses" with - One-on-one pro-bono strategic financial and business counseling - Access to the entire suite of UBS's resources, including senior leaders within the firm's marketing, human resources, operations and Investment Banking divisions - Opportunities to network with industry influencers and major decision makers in both the private and public sectors.

The ten small businesses enrolled in the program had average annual revenues of $8.44 million in 2010 and together employed a total of 400 people at the end of 2010. The entrepreneurs and their companies who participated are: Julie Azuma, Different Roads to Learning, Inc.; Dinesh and Josh Boaz, Direct Agents, Inc.; K.Y. Chow, GM Printing; Richelieu Dennis, Sundial Creations; Kenny Lao, Rickshaw Dumpling Bar; Tamara Mangum-Thomas, Sharpened Image, Inc.; Mike DiMarino, Linda Tool; Marjorie Perry, MZM Construction & Management Company, Inc.; Jeffrey Smalls, Smalls Electrical Construction, Inc.; and Larry Velez, Sinu.

wrs 1 day ago 1 reply      
Just to clarify a minor point -- the person he says threw her Blackberry across the room in frustration over his award is described by the NYT article as being frustrated because it was larger than her department's entire budget, not necessarily because he got an award at all.
victorhooi 1 day ago 1 reply      
Aha, but does he need to pay taxes on that $104 million? =)
ensiferum 1 day ago 0 replies      
And this is just the tip of the ice berg. Think about all the scheming, scams, power mongering, corruption and outright crime that goes on in the banking business. Self regulation my ass. They're gambling on the whole planet basically. And ofc nothing will ever chance, because the banks own the goverments. A single "occupy wall street" protester will certainly get more time in the jail for minor offence than a bank exec would ever get for his crimes.
themodder666 1 day ago 2 replies      
Fuck this guy. No, seriously, fuck this guy. Why in the hell would anybody who's not an asshole decide to aid and abet the state in its coercive expropriation of money? I find this guy repulsive.
Researchers reach human parity in conversational speech recognition microsoft.com
455 points by jonbaer  22 hours ago   140 comments top 28
Eridrus 21 hours ago 4 replies      
The actual paper has a section on error analysis that is particularly enlightening: https://arxiv.org/abs/1610.05256

On the CallHome dataset humans confuse words 4.1% of the time, but delete 6.5% of words, most commonly deleting the word "I".

Their ASR system confuses 6.5% of words on this dataset, but only deletes 3.3% of words, so depending on how you view this their claim about being better than humans isn't definitely true, if you consider the task to be speech recognition, rather than transcription.

Also, while the overall "word error rate" is lower than humans it's not clear if this is because the transcription service they used is not seeking perfect output, but rather good enough output and the errors the transcription service makes may not be as bad as the errors the ASR system makes in terms of how well you can recover the original meaning from the transcription.

It's clearly great work, but reaching human parity is marketing fluff.

jpm_sd 20 hours ago 1 reply      
I look forward to being able to converse with Microsoft's research team as easily as I can with humans. I hope that one day, journalists can learn to write headlines with similarly low rates of error.
uvesten 21 hours ago 2 replies      
Good for them! I'm a bit surprised that the researchers didn't already possess human-level speech recognition, though.
radarsat1 19 hours ago 4 replies      
The term "human parity" refers to a comparison of the error rate, which is a single scalar summarizing performance in terms of mistakes made. It says nothing about the kind of mistakes, and I can easily imagine that machines qualitatively do not make at all the same kind of mistakes as humans. I'd be curious to know if the kind of mistakes machines make might strike human listeners as quite stupid, but maybe not.. many algorithms are getting better at taking into context and prior knowledge into account.
Animats 20 hours ago 4 replies      
Very nice. How long before something this good is available as open source?

A tough test would be to hook this up to a police/fire scanner, or air traffic control radio.

grzm 21 hours ago 5 replies      
I don't have a background in this area, so I'm likely easily impressed, but this seems really impressive. And the acknowledgement that there's a lot of work to be done, such as discriminating between speakers and recognition in adverse environments. Yeah, it's Microsoft writing on their own technology, but they addressed in the text the questions I had already in mind from just reading the title. It didn't leave me with feeling that it's just a marketing piece.

> Still, he cautioned, true artificial intelligence is still on the distant horizon

It's frustrating when technologies like image and speech recognition and robotics are conflated with AI.

windlep 16 hours ago 2 replies      
I'll admit I'm not very interested in speech recognition of this nature when it can't disambiguate the speaker. ie. the way Amazon Echo and other voice recognition systems can't tell the difference between a human in the room and the TV. Even when one might be clearly a female voice vs. a male.

None of the voice recognition systems on the market learn my voice distinctly from my wife's or sons, and I don't want their speech triggering things on accident (especially my son's), so I don't use any of them.

I'll be more impressed when I can restrict Amazon Echo or one of these assistants to ignoring any voice that isn't at least rather similar to my own, not merely recognizing the words I'm speaking.

Maarten88 21 hours ago 1 reply      
Nice to read this, being someone who uses lots of Microsoft products, but I have mixed feelings: after all these years Cortana still understands 0.0% of my native language (Dutch). Very disappointing, especially seeing that Google has no problems understanding Dutch.
eb0la 19 hours ago 2 replies      
Knowing Microsoft this will be part of Cortana in a few weeks.

I hope it will be integrated soon with the Speech API as well ( https://msdn.microsoft.com/en-us/library/hh361633(v=office.1... ).

dalys 7 hours ago 0 replies      
I think it's more impressive when you actually hear a sample from the switchboard task: https://catalog.ldc.upenn.edu/desc/addenda/LDC97S62.wav

From https://catalog.ldc.upenn.edu/LDC97S62

mirekrusin 2 hours ago 0 replies      
Wouldn't just simple "word after list of words" probability help?
cellis 20 hours ago 0 replies      
Ok, when's the next 2GB Xbox One update and will this fix the problem of me saying "Xbox watch NBC", and it 'hearing' "Xbox watch TV"?
wbhart 20 hours ago 1 reply      
So Microsoft finally have an AI that can "wreck a nice beach". Along with text autocompletion, we are all set for a decade of irritating miscommunication.
mirekrusin 2 hours ago 0 replies      
...still waiting for english to/from dolphin translator.
nattyice 16 hours ago 1 reply      
Meaning will always escape us when it comes to language.Not only will there always be a disconnect between the speaker and his or her audience, there will always be a subjective perspective that cannot be tapped into. Can AI ever really be compared to a subjective perspective?

Although the article recognizes that perfection has not been assumed, parity might not even be a capacity.

Conversation is difficult to measure. Take a look at the philosophical viewpoint of Deconstruction. Food for thought.


chris_st 15 hours ago 0 replies      
Perhaps the folks at Microsoft's Lync (named after this gentleman, [1], no doubt) or maybe it's Skype for Business now could get some of this research.

We have this at work (alas), and it does "transcription" of voicemail, which it sends as an email. It's easily 90% wrong, regardless of speaker, unless it's a slightly bad connection, when it's worse.

[1] https://www.youtube.com/watch?v=NV9fKUkx76Q

raimue 19 hours ago 0 replies      
> [...] a speech recognition system that makes the same or fewer errors than professional transcriptionists.

How low would the error rate be for humans that can fully concentrate on listening instead of writing at the same time? Unfortunately, that cannot be tested.

braindead_in 12 hours ago 0 replies      
I run an human powered transcription service and I get really excited on such news. Typing is the first step of our process (of four) and any ASR system which can generate even around 80% accurate transcript of a file will be incredibly useful. We have tried several systems but unfortunately none have been able to get there yet.
swagtricker 16 hours ago 1 reply      
Time files like an arrow, but fruit flies like a banana.

Wake me up when they can match human recognition of context.

jarboot 10 hours ago 0 replies      
How long do you think it is until captioning companies / TRSs such as Captel downsize significantly because of tech like this?
loup-vaillant 19 hours ago 1 reply      
Great. Now Microsoft has the means to store every Skype conversations indefinitely it's only text, now.

Seriously, great work, but just like facial recognition, this will cut both ways.

andulus 14 hours ago 0 replies      
I wonder if this success has any help in the advancement of another application neural networks? Do these achievements translate easily to other domains, or it's just an isolated case?
nicklovescode 18 hours ago 0 replies      
Is there a demo or video of them using this? Would enjoy playing with it.
Kenji 19 hours ago 0 replies      
I have read too many human parity claims that left me disappointed to believe this one. Call me a pessimist or a cynic. I'll be very excited when I have the code running on my machine and when I can compose this comment verbally without a hassle.
plussed_reader 19 hours ago 0 replies      
Do I have to use Windows to leverage this new software setup?
dfgonzalez 17 hours ago 1 reply      
Did someone put it as SaaS already?
ahmetyas01 15 hours ago 0 replies      
any video or audio to get the idea how close they are?
EGreg 15 hours ago 0 replies      
In English, probably.
The Governments Addiction to Secret Law nytimes.com
417 points by af16090  1 day ago   149 comments top 20
M_Grey 23 hours ago 11 replies      
Two quotes from Eisenhower spring to mind.

"It is part of the general pattern of misguided policy that our country is now geared to an arms economy which was bred in an artificially induced psychosis of war hysteria and nurtured upon an incessant propaganda of fear. While such an economy may produce a sense of seeming prosperity for the moment, it rests on an illusionary [sic] foundation of complete unreliability and renders among our political leaders almost a greater fear of peace than is their fear of war." (D.W. Eisenhower)

"In the councils of government, we must guard against the acquisition of unwarranted influence, whether sought or unsought, by the militaryindustrial complex. The potential for the disastrous rise of misplaced power exists and will persist." (D.W. Eisenhower)

He was absolutely right, and I'm not sure that there's a realistic way out of the decades-deep hole we've been digging for ourselves. Especially when you consider that we appear to switch our brains off in the wake of any significant terror attack, it seems hopeless.

wyldfire 23 hours ago 3 replies      
> When President Obama issued procedures and standards for using lethal force against suspected terrorists overseas, agency officials were bound to follow them.

It's a perpetual, boundless war fought on our behalf. It's too bad Congress can't find a way to permit this activity in some limited fashion without just ignoring it (congress please RTFM: Article I, Section 8, Clause 11). This sets a horrible precedent for future presidents. We have ceded enormous discretion to the executive here. It seems prudent to have a ton of oversight and disclosure surrounding programs that allow for execution of individuals, regardless of where they live.

Footnote: Rep. Lincoln (regarding conflict w/Mexico over disputed Texas): "The provision of the Constitution giving the war-making power to Congress, was dictated, as I understand it, by the following reasons. Kings had always been involving and impoverishing their people in wars, pretending generally, if not always, that the good of the people was the object. This our Convention understood to be the most oppressive of all Kingly oppressions; and they resolved to so frame the Constitution that no one man should hold the power of bringing this oppression upon us. But your view destroys the whole matter, and places our President where kings have always stood."

DannyB2 23 hours ago 4 replies      
Secret Laws

Secret Interpretations of Laws

Secret Courts

Secret Warrants

Secret Court Orders

Secret Arrests

Secret Trials

Secret Evidence (not made available to the defense)

Secret Convictions

Secret Prisons

Secret "enhanced interrogation" programs

Gee, it sounds like we've become everything we were fighting against in the previous century.

But it keeps the money flowing.

Next after the military industrial complex is the for-profit prisons. Vacant cells mean lower revenue and thus degrade profits, executive bonuses and shareholder value. Our education system needs to be geared to produce just enough inmates to occupy the for profit prisons, and enough productive workers to pay for both the for profit prisons and military industrial complex.

Spooky23 23 hours ago 1 reply      
It's even worse than having secret law -- it's secret analysis and interpretation of law.

In some cases, if a statute says: "All pens must be blue", and the administration's attorneys study the statute and determine "When the congress said that pens must be blue, we understand that they meant to say black", and they then make that determination secret. The outcome isn't secret law, but secret meta-law.

titzer 22 hours ago 2 replies      
Secret law is no law at all. Law is a contract between a people and the government. Contracts where only one party has any knowledge are by definition not contracts. Instead, this body of secret law operates completely outside of public oversight, and generally grants the government powers that public, bonafide law would ban or tightly restrict. Secret law is _always_ a violation of the social contract, and we must reject it and punish actors in government who justify it, no matter the specious ends they pursue.
donatj 1 day ago 1 reply      
I've said it many times, but we are not truly a nation of the people if the people don't know everything the government is doing.
Bartweiss 22 hours ago 2 replies      
"In this election year, as we honor our right to govern ourselves, those in power and those seeking it should affirm that a regime of secret law has no place in a democracy."

This was a darkly amusing way to finish the article. Both major candidates have openly endorsed expanding government surveillance and reducing legal protections for privacy and access to law. There's no plausible election outcome that would scale back secret law.

mikecb 22 hours ago 0 replies      
Perhaps the United States has secret law because it's one of a very small set of jurisdictions (read: pretty much only) that subjects the most classified actions to a comprehensive and deeply integrated legal framework. For some interesting reading, check out Intelligence Oversight, a toolkit, by the Geneva Center for the Democratic Control of Armed Forces[1]

[1] http://www.dcaf.ch/Publications/Overseeing-Intelligence-Serv...

grzm 23 hours ago 4 replies      
I'm glad to see discussions like this that are looking beyond the election about how we can move forward to increase transparency, working to hopefully regain some of the public's trust. An open question is whether we as a nation can keep pressure on the officials to get changes made. Difficult to do in the best of circumstances and even more so in the current state of polarization and divisiveness.
white-flame 16 hours ago 0 replies      
This part absolutely disgusts me:

Even when they have access, lawmakers often fail to push back against interpretations that go too far. After all, they have little incentive to take on the national security establishment when their constituents are not even aware that a problem exists.

As a representative, you are there to uphold the constitution and deal with all the issues that would otherwise swamp the general public. You are not micromanaged by the people. Your general representation has been elected. We do not elect you to sit on your butt and wait for "incentives". DO YOUR JOB.

jwtadvice 20 hours ago 0 replies      
Some of the things I remember from this past administration:

1. Secret global and domestic surveillance.

2. Secret application of war powers.

3. Secret assassination programs.

4. Secret courts with secret warrants.

5. Secret torture programs.

6. Secret prison systems and secret "extraordinary" rendition.

7. Secret compulsion letters for secret military and intelligence efforts.

8. Secret deportations with a public relations face saying the opposite.

9. Secret sabotage programs.

10. Secret intelligence involvement in the production of US media.

11. Secret censorship of domestic protests.

12. Secret trade deals with secret foreign policy objectives.

13. Secret nuclear deals with historic US enemy states.

14. Secret transfers of money overseas.

15. Secret arms support overseas of groups in Syria.

16. Secret meeting in the Congress (the most of any president in the history of the country).

17. Secret interpretations of law.

18. Secret investigations of civil and human rights allegations.

lucker 20 hours ago 0 replies      
'Secret law' is not law at all, and I consider it the duty of every American to expose and, if necessary, disobey it. Any legal professional participating in 'secret law' should be disbarred.
gaius 20 hours ago 0 replies      
The word "privilege" quite literally means "private law".
rayiner 20 hours ago 0 replies      
The article is ridiculous. Legal interpretations are only law when they have been adopted by a court. A private legal interpretation is not a "secret law." To the contrary, every organization of any substantial size has private interpretations of laws, and those interpretations are protected from disclosure by attorney-client privilege.
emodendroket 22 hours ago 0 replies      
If this an option it's obvious why any administration would prefer to take it but it's an abdication of duty for Congress and the courts to do nothing about it.
MichaelMoser123 18 hours ago 1 reply      
What is the point of a law if it is kept secret? Doesn't secrecy defeat the purpose of the concept of having laws and of due process? How did they establish the concept of secret laws and how are these laws passed if not in secret?
throw2016 22 hours ago 1 reply      
The problem is larger than secret laws. Once the culture of paying lip service to fundamental principles is set within government it becomes systemic as has already happened in the US government.

The danger then is a large number of individuals within government acquire a sense of self righteous purpose convinced of an existential threat that allows them to morally ride roughshod over the basic principles of the state, for instance to run surveillance systems.

For them citizens become ignoramuses who have to be kept in the dark, so there is no scope for debate. And who would not protest so much if only they knew all this is just to keep them 'safe'. Of course its not. A shift from accountability towards secrecy is always about the accumulation and abuse of power.

Unless they are prosecuted and held accountable in courts where their world view can be challenged in the open the culture will not change. It's important for citizens to nip this in the bud before its too late.

fit2rule 23 hours ago 1 reply      
The corruption of government begins with its secrets. A truly free people keep no secrets.
alanh 13 hours ago 0 replies      
The government considers transparency a flaw and attempts to route around it.
SubmitHub: how a solo founder built a $46k/mo SaaS business in 10 months indiehackers.com
515 points by csallen  2 days ago   118 comments top 18
theunixbeard 2 days ago 2 replies      
1.) Build an audience (~6 years)

2.) Build your business (a few months...)

That's the winning formula. I wrote about this at length regarding Ryan Hoover & Product Hunt:


The title was "Product Hunt's Rise: An overnight success 1,834 days in the making"... Same exact story here except growing Indie shuffle took closer to 2,190 days!

jason-grishkoff 2 days ago 10 replies      
SubmitHub founder weighing in here -- thanks for sharing, Courtland! If anyone has any questions about SubmitHub or Indie Shuffle (technical or business), feel free to ask :)

Edit: in case you're curious, here's what the dashboard looks like for bloggers - http://i.imgur.com/mJG1LP5.png

mherrmann 2 days ago 0 replies      
As seems to be common on Indie Hackers, the title is extremely disingenuous:

1) It took him 6 years to build an audience before turning it into a business. The title makes it sound like the entire process only took 10 months.

2) $46k/mo of what? Revenue or profit? If the latter, at least half immediately goes to the music blogs.

3) Where exactly does the $46k/mo number come from? It's only mentioned in the title and explained nowhere. Is it a projection, an average, the best month, ...?

Courtland, you have a great site and I really enjoy your articles. Please don't spoil your awesome content with vagueness and clickbait.

wyc 2 days ago 1 reply      
Kudos! I get really excited when I learn about people working hard at creative and useful things like this. I also think it's important to note that, while this is surely no small feat, it sounds like this is the fruition of the author's accumulated experiences, network, and reputation "[over] the course of my ~7 years running a blog", and probably even longer with a strong passion for music and the people in music.

This comment is not to downplay the author's accomplishments--I think keeping to something for even 5 years is ridiculously hard, and that should be commended, especially if it resulted in something that people find valuable. Rather, I hope that people reading this won't lose hope when, 10 months into their own businesses, they don't see the same levels of popularity or financial success. This project seems to be the tip of an iceberg. I think luck is also a strong component, but it definitely favors the prepared.

sp527 2 days ago 1 reply      
I think another important lesson to draw from this is that you should build things for domains and problems in which you have a legitimate interest/curiosity. That was something I took away from this that's difficult to accept, because it means you're probably going to be limited if you want to work solo.
steve-benjamins 2 days ago 0 replies      
I used SubmitHub to share my music and it's a great experience. It fixes an exhausting cold-outreach process. (I used it to get some pretty major coverage for me, at least when a well-known blog sent 25,000 listens after covering my song).
fiatjaf 2 days ago 8 replies      
The guy had a very successful music blog and used that to kick off the network effect needed to make SubmitHub work. There is zero chance SubmitHub would work without the music blog, so unless you have a very successful blog yourself this article will not help you in any practical manner.
reagan83 2 days ago 1 reply      
I ran my first startup with Jason 15 years ago. Since then, he's gone on to do some amazing things and seeing him on HN today makes me realize:

1) how lucky I was to work with him for those 2 years.2) how small our industry is.

Congrats Jason on the well deserved success.

textread 2 days ago 1 reply      
Congratulations Jason

Why did you pick Digital Ocean over Meteor Galaxy hosting ?Would you point me to some resources that you looked into while setting up Digital Ocean for Meteor hosting ?

goodJobWalrus 2 days ago 0 replies      
I have a question for the guy running indie hackers. Do you periodically update those revenue figures?
sgdesign 2 days ago 0 replies      
Something that I think is worth pointing out: that site doesn't have a recurring revenue model and also charges very low fees, two things that go against the common wisdom of "just get people to pay you every month, and add an enterprise plan in there for good measure".

The truth is that the classic three-tiered SaaS business model is just one of many possible business models, yet many developers-turned-entrepreneur adopt it without stopping to think whether it's a good fit or not for their product.

pjwal 1 day ago 0 replies      
So, why not democratize this a bit more given the application and the current audience. Why not charge (and deliver) 1000 user reviews of music for $1 as well?

Obviously, established music sites are a distribution channel that works right now. But it seems apparent to me the natural extension right now is direct to music lovers?

z3t4 2 days ago 1 reply      
This could be used for other branches too, not just music blogs. For example Indie Games.
rhizome 2 days ago 1 reply      
I'm finding that when some resources hang -- I got it with images.unsplash and cloudfront on different pageloads -- it freezes Firefox completely such that it must be killed. Is this a side effect of React/Meteor?
gtirloni 2 days ago 0 replies      
Question to the moderators: Shouldn't IndieHackers posts be "Show HN"?
lmenus 2 days ago 0 replies      
Good job!
scribu 2 days ago 2 replies      
Actual tl;dr: Founder built a webapp for streamlining music submissions made by artists to music blogs. One important element of success was having a popular music blog himself.
hnsummarizer 2 days ago 5 replies      
Tldr: "I was born in South Africa and moved to California just before the start of high school, graduating from the University of California, San Diego in 2007 before working a corporate job in DC that ultimately landed me a sweet gig at Google. My responsibility once there was to figure out how much to pay the company's executives, which meant I was lucky to enjoy face time with many of the top brass.,One of the biggest frustrations of running my music blog was that by the time I took it full-time, I was receiving upwards of 300 email pitches a day from artists, record labels, and publicists, all looking to have their music featured on Indie Shuffle.,Then, toward the end of last year, I decided that a good way to learn some new coding languages would be to try and solve this problem by developing a website to streamline the process."
Google Flights will now tell you when fares will increase techcrunch.com
410 points by jonbaer  1 day ago   156 comments top 21
karakal 22 hours ago 7 replies      
I'm curious, how does one gain access to flight schedules/fares? Is this something that anyone can get their hands on and create a service (complexity aside), or do you need some sort of license that costs thousands of dollars?

Does each airline have their own way of exporting this data? Is there a single entity that aggregates from all of them? How does the actual data look like? (Is it a dump every X hours, or something more modern like a stream you can subscribe to?).

lmkg 22 hours ago 10 replies      
Bing Travel had predictions for fare fluctuations for air tickets back in 2009. It was pretty awesome back when I flied a lot, but they apparently killed the feature in 2014. Now Google's bringing it back, two years later.

I don't understand the future sometimes. \(_o)/

forgotpwtomain 22 hours ago 7 replies      
I almost never use anything other google flights when searching for a ticket. The UI is just so much better and easier to use than the ridiculous bloated crap that most travel sites are (especially when they are trying to shove car-rental and hotel deals in your face).

The one drawback is sometimes they are missing local / smaller airlines from their list of flights (which can be a major price difference from the major ones) on short flights.

bluetidepro 22 hours ago 4 replies      
I've searched with Google Flights a few times, but they are consistently more expensive than the flights I find with other services (Hipmunk, specifically). Has anyone else noticed this before, too?

Does anyone know why the prices would be that much different? For the searches I've done, Google Flights is close to $150 more than what Hipmunk shows. Does Hipmunk maybe just have some sort of promo or lower price that Google Flights can't offer?

EDIT: This curiosity also relates to what "karakal" is asking in their comment: https://news.ycombinator.com/item?id=12736433 - Like is this data just universal or do some services get better deals than others?

whitej125 20 hours ago 0 replies      
Will Google Flights tell you if prices are going to decrease in the near future too? You would generally think if they can predict one direction, then they can predict the opposite. However, telling someone that a cheaper flight may exist in the future is going to convince them to leave the site and possibly not come back.
JonoBB 17 hours ago 1 reply      
I love the interface of Google flights, but I can usually find cheaper tickets elsewhere (usually on skyscanner). I've no idea how ticket pricing works and why one site can be so much cheaper than others, but skyscanner is usually 15-20% cheaper on international flights for me.
samfisher83 22 hours ago 0 replies      
Doesn't Kayak do they same thing? They have the wait buy stuff too.

However my favorite site now days skiplagged. The site united try to sue.

Zenst 21 hours ago 0 replies      
I take it they do not factor in currency, which would be factor if paying via credit card and exchange rates change if paying in another currency than home.

That would be I feel very dynamic in part, though still something that plays more of a factor in price than other aspects.

I'm not sure how much Airlines adjust for that and given all fuel is ties tot he USD($) then more a factor for non USD pricing with the exchange rate of the USD.

Now a feature that monitored that and fuel cost changes could potentially give people a heads up before the airlines adjust and might be a good feature.

Though I can count the number of flights I have taken on my hands, so not that afay with the dynamics Airlines use to adjust prices and the frequency.

patja 14 hours ago 0 replies      
I wish the time horizon on this matched the time horizon on which tickets are available. It seems to be about a month short when I compare to directly shopping for flights on airline websites.

Granted that shouldn't matter quite as much for the "when will fares increase" question, since they have to have a baseline to evaluate the increase magnitude, but it sure matters simply for the "I'm planning to fly in for a popular event a year from now and I know tickets are being snapped up so I want to compare fares for flights as soon as they become orderable" scenario.

yalogin 22 hours ago 4 replies      
Almost every site offers this. Isn't this unhelpful in the last ng run? Consumer behavior will change and the price will smooth out or the window of lower prices will be gone or the percentage of change will become smaller.
philfrasty 19 hours ago 0 replies      
Fun fact: its search for railway-connections in Germany is by far better than the original site (Deutsche Bahn).
triangleman 21 hours ago 0 replies      
Speaking of fares going up, has anyone else noticed fares going up on Google Flights, soon after searching for them?
adrianratnapala 22 hours ago 0 replies      
Is this actual new information it is revealing, or just a way of presenting what had been available in the form of the time vs. price bar-graph that it has had since ancient times.

The bar-graph had been hidden from the usual UI by decree of UX designers (Maths is hard!), but was always available as a kind of easter-egg.

Perhaps this feature is the compromise?

netfire 22 hours ago 1 reply      
The title is a little misleading. The screenshot shows that Google is showing that "prices will likely increase" which is different than the "fares will increase" in the title. "fares might increase" would be more appropriate here.
flashman 12 hours ago 1 reply      
I have time series data from over a thousand gas stations. How can I forecast the price of gas?
pkaye 22 hours ago 3 replies      
I wonder if the airlines will start gaming thing. Seeing what people are being told and doing the opposite to catch them off guard.
losteverything 17 hours ago 0 replies      
Will it help predict when mistakes are most likely to occur? The $30 RT EWR to HNL?
mcfunk 19 hours ago 0 replies      
As a once frequent Farecast user I was initially excited about this, but realized that for the most part airfarewatchdog has completely replaced this use case in my life.
ausjke 15 hours ago 0 replies      
been using google flights for 1+ years now, it's great! beat all other alternatives for me.
cft 21 hours ago 1 reply      
I wish they released a native app. A web app is great in concept, but for the actual research and actually committing to buying the tickets a native app is preferable.
jsprogrammer 20 hours ago 0 replies      
flights.google.com has been doing it for at least a week or two already.

I haven't seen it, but I hope that it also tells you 'when fares will decrease'.

Google May Be Stealing Mobile Traffic alexkras.com
527 points by akras14  2 days ago   246 comments top 43
AJ007 2 days ago 2 replies      
"I hope I am not being too hard on Google." -- no, the author is being very, very nice. Google has a strong business interest in users never going to other sites. Between AMP & voice search, the future is going to be very rough for businesses that rely on free search traffic.

In practical business terms I would strongly suggest website owners build ultra-light versions of their sites. If you have international aspirations your site should work on Opera Mini. If you have a big audience it is very reasonable and worth it to have desktop/tablet, smartphone, and ultra-lite versions of your site.

Reposting part of a comment I made a month back on AMP:

#1 There is a big problem with mobile sites. I'm using a recent iPhone and many popular news sites, without ad blockers, are as close to unusable as the worst websites I've ever been to, dating back to using Internet Explorer in 1999. Auto playing inline video ads that slide in to view, just insane. These things clearly kill time on site and reader retention. I have theories about why publishers are ignoring this, but who knows.

#2 Google is using AMP to co-opt publisher's traffic. This means users are scrolling to another story from another publisher or easily bouncing back to the Google results when they land on your content. (See the X in the story link on the animated gif example.)There goes your time on site and long term user retention. If #1 was a problem for you already, you probably don't notice.

#3 AMP & Instant articles are going to put a stranglehold on third party ad networks and represent a very real anti-trust issue.There are a bunch of other privacy implications too, which have been discussed in length. Publishers should be thinking really hard about their future.

hannob 2 days ago 6 replies      
AMP is essentially Google's answer to people creating terrible web experiences.It's been discussed and documented a lot. Common webpages today load content from dozens of different ad, tracking and whatever hosts, take several megabytes to load. All well known, but people don't stop doing it.

Now Google comes along and says: You can't do it, let us do it. Which is perfectly reasonable from their point of view. And when I surf google news on my slow mobile connection I'm always happy when I see that a link is going to an amp target - because then I know it'll be loaded fast.

But you don't need Google to do that. If you don't like AMP nobody stops you from doing the same thing. Limit the amount of stuff you load into your page, reduce the third party content that you include to a sane number of hosts (something like 3 instead of 50), optimize your javascript, deploy HTTP/2. None of that is magic and you can have your fast webpage without any AMP.

lucaspiller 2 days ago 5 replies      
The whole idea of AMP seems like it's really the wrong way to solve the problem. If you remove all the third party JavaScript, fonts, large images and "like" buttons you'll have effectively the same. I guess it already messes up ads and analytics (although I'd assume Google's services still work), so what's the problem?

Kind of related: I recently switched my blog from Wordpress to Hugo. I found a minimal theme, but the amount of junk it was loading was shocking. I created a stripped down version if anyone is interested: https://github.com/lucaspiller/hugo-privacy-cactus-theme

jacquesm 2 days ago 4 replies      
I don't (and never will) use AMP and I feel that it is patently unfair to penalize pages for not using some non-standard tech. Google should index the web fairly, not make use of their tech a factor. Webpage speed is a fair measure (and I really wouldn't know what I could do to make my pages any faster, AMP will not make a measurable difference).

I would expect an un-biased search engine to rate pages with and without AMP equal and to not show 'badges' based on whether or not a page uses tech by the same vendor of the search engine.

Animats 2 days ago 3 replies      
It's not your site any more. You're just a free content provider to Google now.
niftich 2 days ago 0 replies      
Wired broke this story [1] in February 2016, soon after Google announced it'd start directing results to the AMP Cache on the mobile site. In the meta-writeup the next day, Wired wrote "Google's AMP Is Speeding Up the Web By Changing How It Works" [2], while noting that this was a necessary step to compete with Facebook's Instant Articles and Apple's equivalent tech.

[1] https://www.wired.com/2016/02/google-will-now-favor-pages-us...

[2] https://www.wired.com/2016/02/googles-amp-speeding-web-chang...

OJFord 2 days ago 1 reply      

 > I was expecting it to cause a redirect to the original > article. Instead it redirects back to Google search > results. Say What?
Well, what it does is exactly what I would expect; if clicking 'X' redirected to the author's site I would be thoroughly confused.

If I click on a link and it opens in a new tab, I don't close the tab ('X') expecting to go to the home page - I expect to go back to the page from which I opened it.

dkersten 2 days ago 3 replies      
> Google was injecting a large toolbar at the top of the snapshot encouraging users to get back to Google search results (a functionality already provided by the back button)

I learned, through a series of usability tests my (former) startup ran amongst its users, that most non-tech people do not click the back button and get very confused if your pages don't have their own back/forward/close/menu navigation.

We moved our apps workflow from "use the browsers back button to go back" to having all navigation including back/close as part of the HTML UI.

laser 2 days ago 1 reply      
Why would I want to give up 10% of my screen space to a useless bar that when I try to exit out instead takes me away from the page? Complete UX madness.
romanovcode 2 days ago 3 replies      
I think that this whole AMP thing is horrible for the web.

It's like Google is not dictating how one should build/style their websites. Thanks, but no thanks. Stay evil, Google.

Aissen 2 days ago 1 reply      
Actually having the site served from the same, already-open, probably pre-fetched connection, already open browser is great for the user.

It even has the advantage of loading inside the Google App, where no adblocking exists, so it might even be good for publishers.

Yes, there's no discovery if you don't design for that, user will just bounce.

wtbob 2 days ago 1 reply      
I still can't get over the fact that AMP breaks the img tag and requires JavaScript.

My long-running browsers instances are bogged down by JavaScript (and I have NoScript on whitelist mode, with it only allowed where necessary!). Requiring it on any fast-page standard seems counterproductive.

And why, why would they break the img tag

Mikho 1 day ago 1 reply      
AMP in general is rather gimmick and scam. Just normal regular HTML stripped from third party tracking JS--dozen of megabytes--provides pages of the same size. It's only a matter of clean code to make a page mobile friendly.

Introducing yet another additional markup format to serve mobile sites with the only purpose for Google to compete better with Facebook is excessive and additional dev overhead. But it favours Google's interests and Google basically blackmails content providers locking search availability to only those who obey. And additionally it gives Google excuse to serve pages via own domain with backlinking.

There should be just common practices for mobile code simplicity and not another new markup.

pmontra 2 days ago 4 replies      
> Consider adding a link at the top of your AMP page, giving user an option to visit the original post

Why should they want to read the post again? The only viable option is to have links to other posts on your site, or maybe a link to the comments.

By the way, what's the purpose of the bar at the top? The back button of the browser already does that, even on mobile.

About analytics: I don't know if those accesses don't show on Google Analytics (I really don't) but what if one uses Piwik? Is there any way to get a report of the access?

andrewaylett 2 days ago 0 replies      
This feels much more like FB's "instant articles" than what I actually want (as a user) from my web pages.
shortformblog 2 days ago 0 replies      
I get that this is frustrating, but this is exactly what Google said it would do. You can still track your traffic through analytics (per my GA setup, it shows the regular domain's AMP page, rather than Google's site), and you can still run ads against it if that's what you would like to do.

It's not so much a shock as it is a "new normal." Whether you like that new normal, that's up to you.

(For what it's worth, AMP causes a significant bump to my bounce rate, made up by the higher number of visits that come in via users looking for the AMP symbol.)

manigandham 1 day ago 0 replies      
AMP is a terrible format and makes 0 progress for the open web.

HTML is already fast, it's all the extra resources added that makes pages slow. For publishers, the reason sites are slow is a combination of ad revenue pressure, poor tech skills, lack of time and focus on other priorities like producing content in a saturated market. This is changing slowly so that UX is more important but creating an entirely new proprietary system that only takes time away from the main site (and just affects mobile) is not the right answer.

More interestingly, the #1 most used adserver on the planet is Google's own DoubleClick - which means they could singlehandedly make all sites (desktop + mobile) faster by implementing better tech in their own stack.

akras14 1 day ago 0 replies      
A tech lead from Google wrote his response, if anybody is interested:


visarga 2 days ago 4 replies      
Well, considering that said traffic originated from Google, and that Google was under no obligation to send it to OP's page, it's a little more nuanced than "stealing". It just means they sent different behaving traffic than usual - traffic that only touches one article and returns to Google.

It might discourage webmasters from adopting AMP though, if they have the expectation to lead the visitor to the homepage or other articles.

tonmoy 2 days ago 0 replies      
The fact that you can not go to the original page from the AMP page bothers me so much. I go as far as avoid AMP pages altogether just because of that reason.
SimeVidas 2 days ago 0 replies      
Arent you supposed to put links to your other articles at the bottom of that AMP page? I mean, that seems like the best way to get users to visit your full site.
yoz-y 2 days ago 1 reply      
Hm. The x button he mentions is only visible if you got to the page from Google search. If you follow the direct link to the amp page then the header just mentions his original URL as the browser (mobile safari). I would say that such behaviour is quite consistent with mobile so... whatever.
brainfire 23 hours ago 0 replies      
The web is not your personal money generator. It's a place I go for information. I'm sorry that your fellow developers have made it such a user-hostile place that projects like AMP that defend the user experience make it harder for you to make money. But maybe if you're only interested in publishing for the money, I'm not particularly interested in courting your continued participation.
Pxtl 1 day ago 0 replies      
I assume Google ads that are served through AMP will still count. In that case, you can think of AMP as a high-speed static host where you still get paid even though you didn't pay for hosting. But I agree it's very surprising behavior to the actual owner of the website.

The usability downside of providing a link to the actual webpage should be obvious - Google is trying to pretend this is the actual webpage. Why would they want a redundant link just to confuse the users?

That said, ever since Android separated google results view from chrome and added that strange "x->back" button thing I keep getting tripped up from a usability perspective. That's more the Android team being silly again, not just AMP, I think.

ggggtez 1 day ago 0 replies      
Why doesn't the author just measure how much money they are making? They seem to think some things are bad (header bar, etc) but as far as I can tell they could find out very easily if using AMP is helping or hurting.
buckbova 2 days ago 0 replies      
> Explore the site further OR hit the back button to go back to Google search results

I set Google to open links in a new tab anyway so the X the OP is complaining about is actually exactly my browsing style to click X and go back to search results.

remremz 1 day ago 0 replies      
I work for several large newspaper publishers. We have been getting pushed to get all of our content optimized for the AMP experience as to not get left behind. As stated by others though this is good for the end consumer, not so much for the newspaper industry itself.

One of the biggest gripes is getting our paywall model onto the AMP sites, as we have very little input as to how that is done. It also takes ages to hear back about requests/suggestions with little feedback as to why they think its a bad idea.

cramforce 1 day ago 0 replies      
Posting my comment from the article here:

Hey, this is Malte and I am the tech lead of the AMP Project for Google. While I work on the AMP open source project, I did check back with the Google Search team that is more directly responsible for most of the points mentioned in the post. I personally find it very important to respond, because stealing traffic is literally the opposite of what AMP is for. The original idea behind AMP was to allow content to be distributed to platforms (such as Google, Twitter and Pinterest) in a way that retains branding and monetization control for the publisher. AMP traffic is the publishers traffic. Period.

I also realize that just turning on the WordPress plugin doesnt get you there. Especially if a WordPress installation is heavily customized, one will need to invest similar effort to get the AMP pages to the same quality. While this may be a lot of work, this is by design: We recommend to really optimize AMP pages and fine tune them to your needs. AMP is not a templated format for that reason. While neither the AMP project, nor Google are directly responsible for the WordPress plugin, the AMP open source project working closely with the authors of the plugin(s) to improve the quality and scope. AMP is very flexible and should be capable of providing most features of a typical WordPress site, but this flexibility also requires respective work to make custom plugins and development show up in the AMP version.

Getting more literal about stealing traffic: there are audience measurement platforms that attribute traffic to publishers. They might in theory wrongly attribute AMP traffic to the AMP Cache (not Google) rather than to a publisher because they primarily use referrer information. That is why we worked with them in worldwide outreach to get this corrected (where it was a problem), so that traffic is correctly attributed to the publisher. If this is still a problem anywhere, AMP treats it as a highest priority to get it resolved.

Ask Google to give users an easy option to view the original post.

Let us start by saying that we love URLs as much as everyone else, and we tried hard to make the AMP URL scheme as usable as possible given the technical constraints of web apps.Were looking at ways to make the source link more discoverable and will update once that is done. AMP is super flexible in terms of how a publisher can direct traffic to their site. Typical ways to get to a publishers homepage (like clicking the logo) should just work and are in no way restricted. Also, make sure to check out amp-sidebar (https://ampbyexample.com/components/amp-sidebar/) for adding a menu to your AMP pages.

If you are not comfortable with traffic on your AMP pages, please do not publish AMP pages. Google Search has 2 types of AMP related features:

Normal search: AMP does not influence ranking. Your pages will appear in the same spot with or without AMP.AMP specific features (such as the Top Stories Carousel): For these features, we believe that AMP is the format that currently delivers the best possible user experience on the mobile web. That is because AMP allows for consistent speed, caching, pre-rendering, and enables swiping between full-length pages. This is a big deal for topics where there isnt that one best result that a user might want to look at.

Google takes away ad revenue on AMP pages

AMP supports over 60 ad networks (2 of them are owned by Google) with 2-3 coming on board every week and makes absolutely no change to business terms whatsoever. There is no special revenue share for AMP.

If Google cares so much about the mobile experience, why cover 15% of the small mobile screen with a fat bar at the top?

The Android users might have already noticed that it is now scrolling out of the way and the same is coming soon for iOS (were just fighting a few jank issues in Safari). Similarly were spearheading a long term effort (https://github.com/bokand/NonDocumentRootScroller) to allow web apps to define how the address bar is hidden on scrolling. It looks like this will land in Chrome soon, providing even more space to web pages.

frandroid 2 days ago 1 reply      
It's been known all along that Google AMP serves pages from its CDN and that Google adds a bar at the top. The author would have know as well if they had paid attention from the get go instead of bragging about their 5 minute "install". Nothing to see here, move along.
freyir 1 day ago 0 replies      
I don't know if it's because I'm using an iOS ad blocker or the sites are misconfigured, but many AMO sites simply fail to load on my iPhone. AMP has been an awful experience for me, as an end user.
bandrami 2 days ago 0 replies      
The new Google News interface has done this for a while and I absolutely hate it.
Otto42 1 day ago 0 replies      
"Cache-Control: private"

Google has to be respecting Cache-Control headers, right? Set your AMP pages to return that. Then they won't be allowed to cache them.

adjwilli 1 day ago 0 replies      
I've been wondering if AMP isn't an play to actively decreased app installs. You can't include a Smart App Banner in an AMP page.
MyMan1 1 day ago 1 reply      
Seeing analytics built into AMP makes me laugh. Does that not go against producing the most enjoyable user experience possible?
nashashmi 2 days ago 1 reply      
My biggest problem with AMP is I can never go directly to the source. AMP has buggy scrolling and can be quite annoying sometimes.
z3t4 2 days ago 1 reply      
I think the next step for Google is to provide a free hosting service, where ad income is shared by Google and the content provider.
eyeareque 2 days ago 1 reply      
Would a robots file block google from caching your site? I guess that would block google entirely though..
emodendroket 1 day ago 0 replies      
I ran into this but didn't know what was going on. Seems kind of sleazy.
VOYD 21 hours ago 0 replies      
"may be"?
2 days ago 2 days ago 3 replies      
antocv 2 days ago 0 replies      

Try using www.yandex.com as your search engine, it is surprisingly good, and has less ads disguised as "search results" and results from blog-spam sites and such nonsense.

matt4077 2 days ago 1 reply      
I can't wait 'till the author finds out that sometimes the browsers cache resources... These terrible browsers stealing his page impressions.
emilssolmanis 2 days ago 1 reply      
So you installed a WP plugin without doing any research and hoped it would make your pages faster by using unicorns and magic, or to quote

> Most importantly, I was surprised to find out that instead of redirecting users to an optimized version hosted on my server, Google was actually serving a snapshot of the page from their own cache.

and now you're upset that they really only made it faster via caching it, not actual magic.

Were you perchance born yesterday or are you just very naive...?

Intel will add deep-learning instructions to its processors lemire.me
387 points by ingve  4 days ago   125 comments top 23
antirez 4 days ago 6 replies      
That's a good news! About that, two days ago I modified the implementation of neural networks inside Neural Redis in order to use AVX2. It was a pretty interesting experience and in the end after modifying most of it, the implementation is 2x faster compared to the vanilla C implementation (already optimized to be cache obvious).

I never touched AVX or SSE in the past, so this was a great learning experience. In 30 minutes you can get 90% of it, but I think that to really do great stuff you need to also understand the relative cost of every AVX operation. There is an incredible user at Stack Overflow that replies to most AVX / SSE questions, if you check the AVX / SSE tag you'll find it easily.

However I noticed that when there were many load/store operations to do, there was no particular gain. See for example this code:

 #ifdef USE_AVX __m256 es = _mm256_set1_ps(error_signal); int psteps = prevunits/8; for (int x = 0; x < psteps; x++) { __m256 outputs = _mm256_loadu_ps(o); __m256 gradients = _mm256_mul_ps(es,outputs); _mm256_storeu_ps(g,gradients); o += 8; g += 8; } k += 8*psteps; #endif
What I do here is to calculate the gradient after I computed the error signal (error * derivative of the activation function). The code is equivalent to:

 for (; k < prevunits; k++) *g++ = error_signal*(*o++);
Any hint about exploiting AVX at its max in this use case? Thanks. Ok probably this was more a thing for Stack Overflow, but too late, hitting enter.

sbierwagen 4 days ago 8 replies      
Blogspam, kinda. Post just links to https://software.intel.com/sites/default/files/managed/69/78... and says it mentions two new instructions: AVX512_4VNNIW (Vector instructions for deep learning enhanced word variable precision) and AVX512_4FMAPS (Vector instructions for deep learning floating-point single precision)

On Intel's part, it seems kinda... late? It's like adding Bitcoin instructions when you already know everyone's racing to make Bitcoin ASICs. How could it beat dedicated hardware, or even GPUs, on ops/watt? Maybe it's intended for inference, not training, but that doesn't sound compelling either.

yongjik 4 days ago 1 reply      
Apologies if I'm dumb, but did Intel actually tell exactly what operations these "deep learning" instructions do?

I skimmed through the linked Intel manual, but it seems that it just defines two instruction family names (AVX512_4VNNIW and AVX512_4FMAPS) without actually saying what they do.

* It almost feels like a marketing term, in the same way everything was "multimedia instructions" back in the 90s.

zbjornson 4 days ago 1 reply      
Really curious how Intel (others?) determined that these new instructions are for deep learning. The instructions are for permutation, packed multiply+low/high accumulate, and a sort of masked byte move. Are these super common in deep learning?
unsignedqword 4 days ago 1 reply      
Cool stuff, but unfortunately Intel has really delayed AVX512 instructions for their main consumer processors (ffs, it was supposed to hit on Skylake). It looks like we have another die shrink to go after Kaby Lake before we get that sweet ultra-wide SIMD:


eveningcoffee 4 days ago 0 replies      
I did tests with Torch7 few days ago to compare it with OpenBLAS library on multiple cores against CUDNN.

Single core difference was around 100x.

Using multiple cores improved the situation but there still was about 15x difference that did not improve by adding more cores (I tested with up to Xeon 64 cores on a single machine).

I did not test with Intel MKL library as I did not have time for this.

I wonder how much these instructions would improve the situation and does anybody here have experience with Intel MKL library.

happycube 4 days ago 0 replies      
Not holding my breath, since they haven't gotten AVX512 into desktops yet! (Kaby Lake might be worth something if they did... but nope, just more lie7's mostly...)
schappim 4 days ago 1 reply      
There is actually an undocumented neural net engine within the Intel chip on the Arduino 101.
rosstex 4 days ago 0 replies      
Could someone explain how these are deep-learning optimized? All I see is that they're part of the 512-bit vector family that has previously existed.
gragas 4 days ago 0 replies      
Isn't this basically just wider SIMD? Is this in anyway actually tailored specifically to deep learning?
jostmey 4 days ago 3 replies      
How much will this help? Neural networks work so well on distributed computing systems because the operations run in parallel. With a neural network, you can leverage tens of thousands of separate computing cores. Top intel processors have around a dozen cores or so.

What am I missing here?

thasaleni 1 day ago 0 replies      
Excuse my ignorance, but isn't "deep learning instructions" an oxymoron
partycoder 4 days ago 0 replies      
You can also try a binarized neural network.


visarga 4 days ago 0 replies      
> Intel is hoping that the Xeon+FPGA package is enticing enough to convince enterprises to stick with x86, rather than moving over to a competing architecture (such as Nvidias Tesla GPGPUs ).

Then let it prove its performance on a few deep learning benchmarks. If is so fast and accessible, we'll be impressed.

betolink 4 days ago 0 replies      
Is this the moment when Sarah Connor shows up to ruin the party?
joelthelion 4 days ago 2 replies      
So Intel CPUs will be able to perform 16 operations at a time, when Nvidia can do thousands?
ktamiola 4 days ago 0 replies      
Sounds good to me. Let's hope this is not just a marketing move.
AvenueIngres 4 days ago 1 reply      
What are the implications of this? Faster processing?
zenobit256 4 days ago 0 replies      
Great, another extension to the ever-growing instruction x86 instruction set...

I'd question why, but at this point, we're just going to keep bolting things on to an existing architecture.

"Microcode it. Why not?"

tomrod 4 days ago 0 replies      
Well. I guess I'm going to be using Intel!
denim_chicken 4 days ago 0 replies      
I hope they will be more useful than MPX.
sunstone 2 days ago 0 replies      
"get me a beer' would be an appreciated instruction to add.
An External Replication on the Effects of Test-driven Development [pdf] brunel.ac.uk
380 points by joatmon-snoo  13 hours ago   302 comments top 67
jdlshore 11 hours ago 21 replies      
This study, like most software development studies I've seen, is seriously flawed. It doesn't justify the sensational title here on HN.

* The sample size was tiny. (20 students)

* The participants were selected by convenience. (They were students in the researcher's class.)

* The majority of participants had no professional experience. (Six students had prior professional experience. Only three had more than two years' experience.)

* The programming problems were trivial. (The Bowling Kata and an 'equivalent complexity' Mars Rover API problem.)

Maybe, maybe you could use this to draw conclusions about how TDD affects novices working on simple algorithmic problems. Given the tiny sample size and sampling by convenience, I'm not sure you can even draw that much of a conclusion.

But it won't tell you anything about whether or not TDD impacts development time or code quality in real-world development.

geerlingguy 12 hours ago 11 replies      
Could it be that TDD vs. tests-after-code is a highly personal thing? I personally find it easier to write good tests after I've coded something functional. Before hand, I know one or two fuzzy ideas of what I want to accomplish, but I can't list out the concrete, real-world test scenarios until after I've coded something, poked and prodded it, etc.

But I know some people are wired differently; they'll think a lot more about scenarios first, then code after they have everything accounted for. For them, TDD as a philosophy seems more fitting.

I think the chasm exists between _untested_ code and code that has tests. I've never understood the seemingly-religious zealotry behind TDD as an XP practice. Just like pair programming... if it works for you and your coding style, awesome. But don't force it down my throat or act like it's the One True Path to clean code.

tspike 12 hours ago 4 replies      
My experience has been that TDD is worthwhile when working with notoriously slippery whack-a-mole functions like handling time or money. The time saved by catching regressions vastly outweighs the time taken to implement the tests.

In contrast, TDD has been a waste of time for me for UI-based work, as the effort needed to properly expose the functionality under test is too great and the requirements and design change too quickly to be worth it.

In the latter case, writing some deterministic UI tests against mock data after the requirements and implementation have settled has proven much more effective in preventing regressions.

EdSharkey 10 hours ago 4 replies      

 * fire your QA team * dev team is the level 2 production support, and * get to continuous integration nirvana
management fads have been sweeping through my Scrum enterprise for the last 18 months.

Teams that aren't testing constantly, well, they've got tons of escape defects on every release. And those devs are constantly in fire-fighting mode, it's miserable for them. And I see that leading to compressed schedules for them and more reckless behavior like asking to push their releases during the holidays where there could be severe financial consequences to bugs.

As far as I'm concerned, in an environment like mine, where developers can no longer hide their incompetence behind bureaucracy like a QA team, it is official insanity to not spend inordinate amounts of development time writing automated tests. You should be spending 70% of your dev time writing tests and doing devops and 30% writing features.

I read in these comments a lot of bellyaching about how much time it takes to write tests. First, TDD is a skill that you can get good at, and it won't take as much time as you think once you get good. Second, I just don't think you have a choice to not test comprehensively when escape defects become a mark of shame in the organization.

donw 11 hours ago 4 replies      
Am I correct in reading that they performed this experiment only for two days, and entirely with graduate students?

If so, they have missed the point of TDD.

In the short term, TDD probably doesn't make a difference, one way or another.

But software as a business is not a short-term game.

I would love to see a study where the participants are, over a period of six months, given the same series of features (including both incremental improvements, as well as major changes in direction).

In my experience, teams that don't test at all quickly get buried in technical debt.

Untested code is nigh impossible to refactor, so nobody ever does, and the end result is usually piles of hacks upon piles of hacks.

As far as testing after development goes, there are three problems that I see regularly:

One, tests just don't get written. I have never seen a TLD (Test Later Development) team that had comprehensive code coverage. If a push to production on Friday at 6pm sounds scary, then your tests (and/or infrastructure) aren't good enough.

Two, tests written after code tend reflect what was implemented, not necessarily what was requested. This might work for open-source projects, where the developers are also the users, but not so much when building, say, software to automate small-scale farm management.

Three, you lose the benefit of tests as a design tool. Code that is hard to test is probably not well-factored, and it is much easer to fix that when writing tests, then it is to change the code.

haalcion3 11 hours ago 2 replies      
This is a misleading title and conclusion. The study showed a huge benefit of TDD over Waterfall, and it is only when compared to ITL that it was found to not be better.

But moreover, I think it's important to understand why Beck pushed for TDD.

TDD is like saying "I'm going to floss before I brush every time, no matter what."

But, when people don't do TDD they typically aren't all saying "I'm going to brush and floss afterwards every time, no matter what."

Instead, most say "I'll floss regularly at some point, but I don't have time now, and it takes too much effort. I'll floss here and there periodically, maybe before my monthly meeting or big date night."

Another reason Beck pushed for TDD was method and solution complexity reduction which results in lower time and cost required for maintenance because code is simpler to read and understand. Again, with ITL, you're still writing tests for everything, so you'll see those benefits. However, if you fail to write some or most tests, some developers will write overengineered solutions to things and have overly long difficult to follow methods that will make maintenance suck more resources.

If you want to go beyond this study, though, Beck, Fowler, and DHH had a critical discussion about TDD in 2014 that's worth checking out:


defenestration 11 hours ago 1 reply      
The title suggests that TDD has little or no impact on dev time or code quality at all.

The research shows no significant difference between TDD and iterative test-last (ITL) development.

Could the title be updated? To show that it is a comparison of TDD vs ITL/TLD.

inglor 11 hours ago 2 replies      
There is a problem with all these studies - they all use a very small amount of programmers (21 in this case) with no experience (all graduate students in this case) and presumably no significant experience with TDD or TLD.

I'm not making a stand about TDD here - I just think we need to have much better computer engineering science studies if we want to have significant results.

gostonethecrows 58 minutes ago 0 replies      
There are many problems with this study, but for me the most glaring is the definition of quality that they measured. It was purely whether the program performed as expected. This is obviously an important part of code quality, but not the only one. Most proponents of TDD say that its greatest benefit is creating clean, easily maintained code. So this study didn't even attempt to test the benefit that TDD claims to provide.
lowbloodsugar 11 hours ago 0 replies      
"TDD has little or no impact on development time or code quality when compared to the equivalent number of tests implemented afterwards using TLD."

FTA: In this paper we reported a replication of an experiment in which TDD was compared to a test-last approach.

Very different title.

namuol 10 hours ago 0 replies      
- Population: A classroom of students, most without professional experience

- Sample size: 21 students

- Study duration: 2 days

- Team size: Individual

Tests are most useful when refactoring someone else's long-forgotten code; the sort of thing that happens frequently in long-running projects consisting of large teams. In other words, the "real world".

Show me that study.

sayrer 10 hours ago 0 replies      
In "Realizing quality improvement through test driven development: results and experiences of four industrial teams", an MSR researcher found that TDD did reduce defects in his study, but also came at a large cost in time-to-ship.


This finding contradicts the headline. TDD impacted both development time and code quality in that study.

supersan 11 hours ago 1 reply      
Up until now it has mostly been opinions and biases and even though many popular programmers[1] have been saying this for a very long time, it's great to see a controlled study done about it.

This makes it a fact and a great counter argument for helping a lot of programmers who are being forced to practice TDD because of the generally accepted claims in productivity and code quality associated with doing it.

[1] http://david.heinemeierhansson.com/2014/tdd-is-dead-long-liv...

PaulKeeble 11 hours ago 0 replies      
I never really viewed TDD as better at reducing bugs for a short term project, its going to have marginal better chances of getting additional test cases.

I view it more as important for breaking the growth of testing effort in an iterative project. With each release the scope of what should be tested to fully test a project climbs and unless a team wishes to linearly increase the size of its test team its all but certain tests will be skipped.

TDD gives us the ability to always full regression test as its just machine time. Its a safety factor in knowing nothing is broken which in turn gives us confidence we can refactor.

shade23 10 hours ago 1 reply      
I have spent almost 3 years now writing code(with very few or no tests) and my current organization stresses on agile practices a lot.I encountered TDD from here.So I would like to chip in here too.

TDD solved a major problem for me which I have seen a lot of people suffer with. _Where do I start ?_ . The thing is TDD and refactoring go hand in hand. I cannot imagine doing TDD if I was not using an IDE like Intellij or something. When you normally start writing code first(typical TLD) then you need to have a plan before hand.This plan cannot change much because you really do not get feedback till you complete major segments of the code. TDD ensures you keep getting nibble sized feedbacks which assure you that what you are writing works. This according to me is the single most beneficial point of the system. TDD or TLD would allow maintainable code too.And often while doing TDD too,you can strictly follow TDD. It might not have an impact on code quality for seasoned developers(coding for years on the same codebase) but it does help for the others .It also reduces my inertia considerably too. So while it might not have impacts on development time or code quality. I tend to sleep well without large UML Diagrams floating in my head and knowing that each unit of my code works independently.

johan_larson 8 hours ago 1 reply      
The questions worth asking about techniques like TDD are "What problems does it fix?" and "What problems does it introduce?"

I would expect a determined attempt at TDD to solve the "no tests" problem, because it is so utterly insistent on tests. It should also solve the "don't know how to start" problem, because it de-emphasizes planning and design in favor of just jumping in; you write the tests, and then you do the bare minimum to make them pass.

That said, I would expect a TDD-based project to have the "bad architecture" problem: messy interfaces and sort of ad-hoc separation of concerns, because it makes no time for up-front analysis and design. It's always focused on the current feature and doing whatever it takes to make it work now.

In fairness, it does include a refactoring step, which is supposed to clean up the mess after the fact. Color me skeptical. Refactoring is hard, and people tend to do it on a large scale only when they have to.

rainforest 5 hours ago 0 replies      
The use of students in SE research is a hot topic, see, for example Fietelson's review: https://arxiv.org/abs/1512.08409.

Practitioners have a problem recruiting subjects. There is often a tradeoff between applying more rigorous experiment design and using convenience sampling (students) versus sacrificing controlled environments (so that professionals would actually join the study).

It's easy to condemn work like this but there's no other option. In this case the researchers chose to replicate a study (which often risks similar ire for telling us nothing new) with a commendable level of rigour and have provided more evidence that, for the scope of experiments we can construct that TDD is probably no different to TLD when using a population of relatively unqualified developers (students).

As to the problem being trivial, what else can be done? There's a finite time you can ethically expect participants to give to you, even if you pay them. If anything the criticism of this work is better directed at the limitations academics are forced to bear.

roadman 49 minutes ago 0 replies      
I was eager to read this paper but found little substance in it.
varjag 7 hours ago 1 reply      
No TDD discussion is complete without a reference to Sudoku debacle.


johnlbevan2 2 hours ago 0 replies      

Conclusion: "TDD does not affect testing effort, software external quality,and developers productivity"

However, per jdlshore's comment (https://news.ycombinator.com/item?id=12740978), test parameters weren't suitable for any meaningful conclusions to be drawn.

sebringj 10 hours ago 0 replies      
I'm not commenting on the TDD studies in terms of its effectiveness but I do know that a project that takes longer brings more programming hours which results in larger budgets. If you were a company selling your services, you would be a bit more motivated to include things that take longer especially if this tugged at the emotional sense of assurance in your clients. You would also preach it to your programmers as a core practice and they would happily be converts. This goes for all the structure surrounding your project as well. I tend to see more structure in outsourcers these days and a smugness along with it. I wonder how much of it is bloatware though.
NumberSix 11 hours ago 0 replies      
Software development varies enormously. Flight avionics software differs from video game software differs from a spreadsheet differs from an order-entry system differs from laboratory analysis software differs from a web browser and so on. Flight avionics differs from a commercial jet liner to a fighter plane to a model airplane. Some projects have huge budgets and others have shoestring budgets. Some projects require extremely high reliability and quality; cost is not an issue. Other projects can be quite buggy, low quality but still useful -- cost effective.

Developers vary as well. Some temperamentally find something like TDD useful. Others do not.

There is no one software development methodology to rule them all.

Steeeve 7 hours ago 0 replies      
I'm a fan of TDD, but I'm a bigger fan of having reliable, repeatable, and complete tests period.

I don't think it's productive to argue the merits of the study itself - better to look at the positive. What the study tells us is that it's not too late to improve your existing software with tests.

rbanffy 7 hours ago 0 replies      
After a quick read on the metrics section, it seems the quality is measured in terms of adherence to user stories implemented as a set of behavior tests. There seems to be no assessment on code maintainability and looks like a flaw in the study, as it would model a short lived codebase and not one that undergoes several maintenance cycles.
k__ 6 hours ago 0 replies      
TDD is basically "writing software for a test". Programming language design has a similar problem. First BIG software many people write in their new language is a compiler, so many languages are optimized for that.
dang 6 hours ago 0 replies      
We changed the URL from http://neverworkintheory.org/2016/10/05/test-driven-developm..., which points to this.

When the topic is controversial and the paper is not so specialized that only a few people here can understand it, changing the URL to that of the paper tends to help make a discussion more substantial. Especially when the blog post is more of a gloss on the paper than an in-depth commentary on it.

jjp 10 hours ago 0 replies      
This is an editorialised title. The blog posting is a boring "Test Driven Development". The blog posting and the paper that it fronts has a conclusion that no significant difference between TDD and iterative test-last (ITL) development, which is quite a bit different from TDD has little or no impact on development time or code quality
godmodus 6 hours ago 0 replies      
"YOLO" based Dev work on the otherhand is where it's at, right?

On the other hand I can see where students and new learners might falter. TDD requires u know a bit about what ur doing,and if you're new to programing, ut just costs more time to compensate for not having a healthy intuition.

Still tho, if you want to run maintainable code, that's somewhat future proof and not disposable - test it and keep it clean.

I mean it's like arguing sharpening ur katana while u fight is detrimental to duel survival. Which is true.. But...

Rapzid 10 hours ago 0 replies      
My default is to not write many tests at all during the experimental, build-out phase. I'm not looking for exact or bug-free software, I'm trying out different API's, aggregates, and architecture in general. Needing to refactor tests every time I want to make a drastic change is... Well, you know. AS somebody else pointed out, this architectural stuff is probably actually much harder to nail down than just writing code that works. This is not limited to very initial build out but could apply to big refactors as well.

After and during the experimental phase, it depends. Both before and after I may write tests before or "test with" for gnarly logic or algorithm-y stuff. Otherwise and in addition I do copious amounts of manual testing. Manual testing is a must for much of what I do, so I augment or substitute automated testing as appropriate. Automated testing is great, but sometimes the overhead is too expensive.

mobiuscog 6 hours ago 0 replies      
TDD means 'management' can't drop the tests being written due to 'timescales'. If they're done up-front, they will be there.

It's also one reason that TDD isn't done, because given a few weeks to complete an impossible deadline means that tests are the first ideal to be dropped.

It's not the correct way to do things, but all of these studied tend to ignore the 'real world'.

jmadsen 11 hours ago 1 reply      
The problem that I have with this article is how people will interpret the results. The test is comparing (presumably) Comp. Sci. graduate students who already know good design patterns, best practices, etc at a relatively high level to see if they are faster and more accurate by testing before vs. after writing the main code. (TDD vs. TLD)

That's all well and fine, and possibly completely accurate. However, many people's takeaway is going to be the out-of-context & incorrect title of this post. (It does not say TDD is worthless - it says it is essentially the same as TLD)

I've always looked at TDD as a tool to help push less experienced, less "educated" developers into 1) even using tests at any point of the development cycle, 2) creating tighter, cleaner and MORE TESTABLE code by the time they've reached the end of the cycle.

So, if your team is and always will be well-educated, experienced programmers who already understand how to always do everything correctly from the beginning, feel free to use either method.

Otherwise, I'd urge you to consider TDD.

refulgentis 12 hours ago 1 reply      
My anecdata matches the author's - I feel more productive doing TDD.

Perhaps because it's less stressful. You think about system design as you code, instead of only when you hit a wall and have to rewrite everything, or when you have to clean up for code review.

Either way, if it has little to no compact on dev team or code quality, I bet the positive impact TDD has on team morale would make it worthwhile.

Shorel 7 hours ago 0 replies      
In a certain way, you always use tests when you are developing something.

Write code, run it, see what happens, repeat.

The 'see what happens' part is what is different in TDD.

It can be very similar to what you do without automated testing (while also repeating all previous tests), or it can be a scaffold on endless tests, or two few tests, or anything in between.

I've seen too many mocking tests for my taste. In fact, my tests tend to be in the 'integration tests, not unit tests' category.

rhizome31 8 hours ago 1 reply      
As a TDD advocate, and assuming this study has any scientific validity, this is actually good news! There's a very common claim that TDD makes you less productive. It's good to have some study to oppose this claim.
jaunkst 11 hours ago 1 reply      
TDD is king when refactoring, or proving an algorithm. You have a tests to confirm the output, and near realtime feedback that you assumptions are correct. The rest is obvious. Mission critical component TDD, complicated refactor TDD, algorithm you need to validated TDD. Anything else write the code and get a peer review.
arcticbull 10 hours ago 0 replies      
I've tried to TDD numerous times in my professional career; I'm confident it works for many. I prefer to use white-box as my second pass through at my algorithm. It allows me to identify potential weaknesses, write test cases around them and correct them in one step. I never feel quite as secure with TDD as I do with post-hoc testing. I'm also not going to tell other people that's the one-true-path. Unit tests? Critical. Before vs. after? Personal.

With respect to this study, I think at best we can say that equal quality tests yield equal results. I don't think -- based on reviewing the methodology -- that the headline can clearly be drawn from the study.

stevehiehn 11 hours ago 0 replies      
If you were to always write tests immediately after you write a few classes I don't think it would make a difference. However from my own experience I never write nearly as many tests after the fact.
andy_ppp 7 hours ago 0 replies      
I've always made data to test if my functions work but now I write that data down in other programs for the future to keep checking my functions. What's the big deal... sure TDD is about the future not the time or development quality today.
greesil 11 hours ago 1 reply      
This is the kind of stuff that in the aggregate you can't show a relationship, but I bet if you controlled for type of project one would see some interesting results. Anecdotally, I know some firmware engineers that shit out the buggiest code I have ever seen, and test driven development would have definitely improved the customer experience. Because when the engineers have literally no tests other than trying stuff out with a printf on the target embedded device, any amount unit-testing will wind up helping.
goalieca 12 hours ago 0 replies      
Actual studies were never needed to convince managers to switch processes. Bonus points for blaming old problems on old process while blaming new problems on "not doing agile right".
xrd 9 hours ago 0 replies      
Does this study assess the long term cost of software? It may be true that this has little benefit in writing code from scratch, and my experiences are that TDD definitely takes longer when writing code than not doing it. But, how does it evaluate claims that 90% of the cost of code comes in the maintenance, not the initial creation of it.
EugeneOZ 7 hours ago 0 replies      
New programmers will read "studies" like this and will decide to write tests "someday later". I really hate impact this "study" brings. And I agree with every point of @jdlshore comment.
jrockway 7 hours ago 0 replies      
When writing new code I don't usually write the tests first, but when fixing a bug, I do. There is nothing worse than a test that would have passed without your supposed bug fix!
SeriousM 7 hours ago 0 replies      
The title of this post is very misleading. TDD in opposition to ITL has little to no impact, the title suggests that the testing itself does not have any impact. This is just click baiting...
BurningFrog 11 hours ago 0 replies      
TDD, like most of the agile practices, is a learned skill.

Doing it at an expert level is very different from an untrained novice winging it.

mathattack 11 hours ago 0 replies      
Replicated with 21 grad students? And then they quote statistics?

Painful to watch people generalize from such small sample sizes.

z3t4 7 hours ago 0 replies      
I think TDD is most effective in "state machines" like cook([ingredients]) => dish, witch should be avoided if possible as they are very bug prone.
joelthelion 6 hours ago 0 replies      
As many things in Software Engineering, TDD is just another tool. It's useful from time to time, but it's no silver bullet.
iUsedToCode 8 hours ago 1 reply      
The research seems low quality. Whenever i try creating something more complex than just a CRUD webapp, i'm always relieved after getting a significant code coverage.

It may be because i'm a medicore programmer (i mostly do hobby projects), but getting assurance that my 'small change here' didn't mess up anything major in a distant part of the system is quite relaxing.

Obviously i only test logic and usually write the tests after coding. It still helps with my flow.

gaius 9 hours ago 1 reply      
It always both amuses and saddens me how people will eagerly write more tests than actual code, but refuse to use a strongly typed language. The compiler is my test harness.
eva1984 9 hours ago 0 replies      
Not surprised. Religiously follow certain principle to believe that it could help you bypass the complexity of the problem itself, almost always won't stand the test of time.
tarkaTheRotter 7 hours ago 0 replies      
"TDD disproven by people who have no idea how to practice it, or have the ability to grok the longterm benefits."
gedy 11 hours ago 0 replies      
Tests before/at/near development time really helps your code design - I've seen how ensure code is unit testable simplifies and enforces layering, etc. Really disagree that this does not help code quality.
jyriand 7 hours ago 0 replies      
Based on my own experience working in teams using TDD and teams not using TDD, I cannot agree.
copperx 11 hours ago 0 replies      
For a split second I thought they were measuring TDD against no tests at all and I felt a panic-induced adrenaline rush.
avodonosov 10 hours ago 0 replies      
It's great such studies exist, but there might be many reasons why they are incorrect (they are testing on students, probably the students don't understand how to apply TDD, or other way around, they are so good that their coding approach provides all the benefits without TDD; the numeric metrics used in study might not adequately reflect the interesting characteristics of the code base, the payback of TDD might show up in later stages of the product life when we refactor or extend it, etc).

Probably TDD can speedup people who otherwise aren't used to iterative bottom-up approach - TDD will encourage short cycle of "change - run and see how it works" loop. Especially in non-interactive languages like C or Java.

Also, if we write tests after functionality is implemented, how do we know why our test passes: is it because the functionality is correctly implemented or it's because the test doesn't catch errors? To ensure test catches errors we need to run it on a buggy version of code. Implement functionality, write test, introduce errors in functionality to ensure the test catches them - that's 3 steps. Run test in the absence of correct code and then implement the code - 2 steps. That's where "test first" might be efficient.

But often that might be achieved other way. Suppose I'm writing a function to merge two lists. I will just do in REPL (merge '(a b c) '(1 2 3)) and see by eyes that it returns (a 1 b 2 c 3). I will then just wrap it into assert: (assert (equal `(a 1 b 2 c 3) (merge '(a b c) '(1 2 3))). Run this and see it's passes - that all, I'm sure it's an OK test.

In short, I think there is a certain truth in TDD, but it shouldn't be taken with fanaticism. And it can even be applied with negative effect (as any idea).

Suppose I want to develop a class (defclass user () (name password)).

I personally will never write tests for make-instance, (slot-value ... 'name), (slot-value ... 'password) before creating the class, the see how tests fail, then creating the class and see how tests pass.

Tests take time and efforts for writing them, and then for maintenance and rewriting when you refactor code. If a test captures an error then the test provides some "return of investments". Otherwise writing this test was a waste.

The tests in the above example will never capture anything.

I tend to create automated tests for fragile logic which is relatively easy to test, so that the efforts spend are justified by the expected payback.

But all my code is verified. Write several lines, run and see what doesn't work, fix that.

bigodines 11 hours ago 0 replies      
Clickbait. TDD !== tests, article compares TDD with TLD.
micahbright 12 hours ago 1 reply      
Somehow, as a Software Engineer, I'm not really surprised.
blakecallens 12 hours ago 1 reply      
It may not boost productivity upfront, but it saves a lot of time down the line by alerting you when something is out of place.
zkhalique 11 hours ago 0 replies      
TDD no, regression testing yes.
_pmf_ 5 hours ago 0 replies      
The onus of proof is on the TDD pundits to prove anything substantial.
isuckatcoding 12 hours ago 2 replies      
As someone who uses unit tests to find bugs in my code, that I would never otherwise find, this is surprising.
ericls 10 hours ago 0 replies      
If the claim in the paper is true:

TDD = Same time + same quality + feel better.

known 11 hours ago 0 replies      
Experience is the name everyone gives to their mistakes --Oscar
Annatar 7 hours ago 0 replies      
Long story short: if you don't have coders who take their product as a matter of personal pride, or are inexperienced, or are mediocre, no methodology in the world will save you. None. I realize my statement is anecdotal, but I'm writing from decades of experience working with people who did not take any pride in their work, and still view programming as a trade rather than art, or view programming as an art where "spaghetti code is beautiful". No methodology, no technology, no management technique, and no programming language saved them or the company. The builds are still a mess. The code is still a mess. The bodies of code require endless babysitting and endless hacking.
Confusion 8 hours ago 2 replies      
The comments to that story are pretty good.

An interesting question is: why does TDD fail in such experiments (it does so unexpectedly consistently), even when many developers feel it has benefits when they practice it?

There is no silver bullet, so there must be circumstances in which TDD does not work. And conversely, the central question is: under what circumstances does TDD work? What are the preconditions?

ben_jones 11 hours ago 1 reply      
...when implemented poorly
Ask HN: $1k+ side projecters, what was the best thing you did to market it?
472 points by taphangum  2 days ago   136 comments top 40
csallen 2 days ago 8 replies      
Hi Tapha! I run Indie Hackers (https://IndieHackers.com), a site where I interview the founders of profitable business and side projects. I just passed $1k revenue this month (you can follow along via my timeline here: https://IndieHackers.com/blog).

My number one marketing approach by far has been to tailor the site to the HN audience.

I do this primarily by asking questions that people on HN always like to see answered (how much money are you making? how did you come up with the idea? what tech did you use? what are your best marketing channels? etc). Lots of similar sites don't ask any of these questions, especially not the revenue one.

I tend to share the most interesting interviews with the HN audience every couple weeks or so, and they usually do pretty well!

a12k 2 days ago 0 replies      
https://destructible.io for sharing files temporarily with yourself across terminals, or others. I submitted to HN, got a huge spike of subscribers. Submitted to Reddit, got another, smaller spike.

Eventually other people started submitting it in response to questions online in forums like HN, where people would ask things like, "What's the Best Productivity Tool You've Found" or, "What Secret Thing Do You Wish Everyone Knew About." Started getting more spikes in users, then a regular base of users, then paying customers, then enterprise customers! Pretty cool organic spread.

It's definitely a side project, but making some money on it which is awesome.

Tried Google AdWords, total waste of (free up to coupon amount) money. Maybe one new user with $250 spent.

So I would say: Build a good product and maybe if people will like it enough you will get some organic growth.

edit to say: I'm still 1000% just doing this as a fun aide project that I built to serve a need I specifically had, but am happy to answer specific questions about what I stumbled through and did to kind of get off the ground enough to pay monthly costs and make a little profit.

lunaru 2 days ago 2 replies      
There are some flash-in-the-pan things and some that are evergreen.

When it comes to the former, getting HN front-paged, a Techcrunch write-up, PH, etc tends to lead to a spike in traffic and eye balls, but very rarely do you get your true base of customers from these things. (But hey, they don't hurt!)

In the latter category you'll hear things like SEO, content marketing etc. Those are all important and must-haves, but these days it's also table stakes since it's what everyone is doing as well. When it comes to getting differentiators that can take you from $1k to $2k or $2k to $4k you need a distribution channel -- preferably a partner or a distribution platform where you can narrowly focus on a small audience. Yes, this means you'll need to reach out and talk to people with similar audiences and folks who are willing to help. For those of us who prefer talking to computers (coding) more than talking to humans (eww emails and phone calls) this can be unnatural but is also extremely important.

I'm personally happy to chat with any part-timers looking to grow their projects or even become full-time entrepreneurs. Just hit me up via my profile here on HN.

My personal experience: I've started two businesses as side projects that went on to be full-time ventures. Ronin (https://www.roninapp.com) was started in 2008 (eventually went full-time, acquired, and then spun out). Later on Reamaze (https://www.reamaze.com) was actually a side project on a side project, but is now at full time with a small team and growing very nicely.

gexcolo 2 days ago 4 replies      
I run https://box.cock.li/ , a VPS provider that caters to shitposters and people that kind of like that eerie feeling that your server could shut down at any moment.

I don't really have any idea what I'm doing, but I don't really know how to run a mail server either but I seem to be doing okay with https://cock.li/ (this is where most of my customers are from)

It's currently at about $2K total revenue, and once this transfer of IP space finishes I can properly scale to about $1.8K MRR.

mirceasoaica 2 hours ago 0 replies      
I've started an online store (https://adorely.ro) with a friend of mine using dropshippers (so we don't buy stock and manage the delivery) and we're getting our most valuable traffic from price comparison sites. While there is a limit of how many visitors you can get, the conversion rate is amazing (in some cases is more than 10%) and the cost is extremely low. Adwords is not a good idea if you don't have a good lifetime value.Also we tried to increase our Facebook fanbase but the conversion rate is pretty low (still bigger than adwords).
streptomycin 2 days ago 1 reply      
Since my video game https://basketball-gm.com/ targets hard core basketball fans, I post to /r/nba on Reddit in the NBA offseason. In the offseason, there's not much other content to compete against so my posts do well. And the type of people reading /r/nba in the offseason are exactly my target market.




matt4077 2 days ago 1 reply      
I flipped the switch to take the website live, enabled google ads and went to a friend's barbecue. We had the first customer before I was done with the first glass of wine.

The effectiveness of ads has unfortunately dropped over the years, but in the first 20 months or so built a roster of 10,000 customers or so who have stayed very loyal and allowed us to expand to products with much higher volume.

sakopov 2 days ago 4 replies      
The product I'm working on helps businesses stay in compliance with financial regulations. Not necessarily as cool as other Show HN projects. Is it still worth posting it on HN?

I also ran across a Reddit post where someone created a Twitter bot which favorited and retwitted posts with certain tags to attract potential customers for a product the OP was marketing. Those who ended up checking out his Twitter page found a note which said that followers would get a deal if signed up. The OP mentioned he got his first 20+ paid customers this way. Not sure how effective this is but thought I'd share.

logane 2 days ago 3 replies      
Someone posted my game (http://hextris.io/) on Hacker News - from there it spread to a few popular outlets (major tech news companies, subreddits, obscure but popular blogs), all organically. Initially I tried submitting the game to game journalists / iOS app review websites, none of which responded to me - wouldn't recommend that route unless you have ins somewhere.
encoderer 2 days ago 1 reply      
A few thoughts from our experience growing Cronitor as a side project:

1. Hacker News has provided exposure but not a lot of direct business. Sometimes people find us on other channels but recognize us from HN. I would say, don't worry too much if you never front page here.

2. Working on SEO consistently over the years has been our most valuable source of high quality traffic.

3. Work with influencers in your industry. When a popular AWS blogger wrote about Cronitor and was tweeted by their AWS community lead Jeff Barr we added 8 subscribers that day that are still with us.

4. Re-marketing to sign-ups that didn't convert. Every month our product noticeably gets better in some way, and those early sign-ups to our free plan that didn't subscribe have been an invaluable source of later conversion.

shortformblog 2 days ago 1 reply      
My newsletter, Tedium (http://tedium.co), has slightly more than 3,000 subscribers, and produces a lot of content each weekbetween 3,000 and 4,000 words over two pieces. My strategy for building it out has essentially meant being willing to syndicate these articles far and wide. I currently work with three different outlets (Atlas Obscura, Motherboard, and Neatorama) to republish the work, all of which bring in new subscribers frequently. Eventually, Digg started picking up its articles as well. Basically, it gives me creative license to write whatever I want in my narrow niche while ensuring the newsletter goes out far and wide. I try to reuse every piece so nothing goes to waste.

While it's not bringing in tens of thousands of bucks, it's brought in enough to make it worthwhile (in part through affiliate linksmy strategy is to link to the weirdest things on Amazon I can find, with the assumption people will eventually go back to buy something else).

I've also tried to find ways to minimize costs on my end, including switching email providers so that the financial impact of sending thousands of emails every month is small.

bengarvey 2 days ago 0 replies      
The week I launched http://kidsdungeonadventure.com I got a review on Wired's GeekDad blog. That link drove nearly all my sales for monthshttps://geekdad.com/2011/03/an-rpg-for-pre-schoolers-get-the...
aparadja 2 days ago 0 replies      
Radio Silence (https://radiosilenceapp.com). It evolved from a side project to my main income this year, and there's a few valuable lessons learned. I don't think I could live off the app without them.

The biggest thing for getting incoming links was to release a free related app under the same domain name. I built Private Eye (https://radiosilenceapp.com/private-eye) and didn't charge anything for it. A lot more people are willing to blog/share/tweet about a free app.

The second thing was to simply cold email reporters and bloggers. I used to think getting featured in the big sites required some kind of magic. Then I started writing emails to individual writers, and the hit rate has been astounding.

callmeed 2 days ago 3 replies      
I have a seasonal project that creates christmas/holiday cards from Instagram photos. It makes a few grand between halloween and new years (https://cheergram.com but the cert is expired rn)

Surprisingly, the best thing that I did to get it some traction was having a few influential people in the design/craft community post it to pinterest. A couple years ago, a single pin generated dozens of orders.

Other than that, some SEO fu has always helped. It used to be on page 1 for "Instagram christmas cards" and I'd get lots of traffic from that (currently on page 2). So, some SEO basics (good titles, good headings, a blog/news section) always helps.

sossles 2 days ago 1 reply      
My web/mobile game called Twenty (http://twenty.frenchguys.net/play) blew up when I put it on hackernews.

But before and even after that, emails to game review sites were universally ignored (with Rock Paper Shotgun as the one exception). Even the Ars Technica guy who proclaimed it as his "latest obsession" wouldn't reply to an email.

I understand these people are inundated with emails, but I was still a little surprised.

khuknows 2 days ago 2 replies      
Not sure if this is helpful, but for myself, it was essentially a post on ProductHunt & emailing some journalists.

The ProductHunt post was augmented by the fact the product (https://uimovement.com) was clearly for a certain community (designers), so it was picked up and shared on other publications/social media accounts within the community.

From the PH post, it was picked up and shared on DesignerNews, r/web_design, Webdesignernews, Codrops, Smashing Mag, etc. The other sources brought in way more traffic than PH in the end.

For more long-term, but slower growth, automating social media has been helpful too, but that can only work for content-heavy products.

sarim 1 day ago 0 replies      
Engineering as Marketing is proving out to be the most effective channel.

We are a small (3 person small) A.I. startup so paid advertisement isn't the most viable option. What worked for us was creating small trivia apps(thedonaldtest.com & whatthefis.ml) to drive sign ups for our Beta release. The apps got featured on PH, generating 200+ conversions on our main website along with some press coverage (Side note: last week an Israeli newspaper wrote about us causing a spike in web traffic)

Here is my experience with different marketing channels:

1. Facebook Ads: Not much success on a small budget. Yesterday I ended an ad campaign for our early release prematurely because the CPC reached $2.2. I have to do more experiments with the ad creative and target audience before I can say for sure whether ads are effective or not.

2. Content Creation. Bleh. Good for SEO, yes, but with so much crap out there its really hard to make your voice heard. I did some experimentation with making the content more interactive (caspy.com/will-apps-like-prisma-replace-human-artists/) but still didnt get much love.

3. Contacting Journalist: After reaching out to 70+ journalist over email and twitter and not getting a single positive response, I am a bit cynical towards that strategy.

BTW, I strongly believe that optimization works. All you need to do is test different approaches and see what sticks.

duck 2 days ago 1 reply      
For my side-project, http://hackernewsletter.com, it has been simply time and being passionate about it. In the beginning I tried various things from reddit ads to guest blog posts, but now six years into it and 38k subscribers, I've found that simply showing up and doing it every week has been my biggest marketing resource.
inovica 2 days ago 0 replies      
SourceGuardian is old-school installable software, not an SaaS. It has been ran by myself and a friend in Russia who I have only met once in 17 years!

We built it for our own use, as we are developers and because we frequented forums where other PHP developers hung out we were able to grow it slowly and steadily. We have been very consistent, making an income (without too much work) for all of these years.

The key is to be authentic. We built something that we needed, but also in a world that we knew something about. In doing this, we were automatically passionate and that shines through.

erikb 2 days ago 1 reply      
Funny how most people decide after one attempt if a marketing approach works for them or not. What happened to really learning the stuff before making decisions? You can be sure that common sales channels will work if you know how to do them and if you have a product that fits the corresponding market you are targetting. Use one of the known common ones (SEO, ads, social marketing), learn all that it has to offer, experiment with your product and corresponding markets (i.e. if your market is not on HN, try a subreddit, or other forum). You will certainly make some financial success if you do that well enough. Only really start to decide that something works in a context or not, after you have attempted different channels with success a few times each, and base that decision not on whether or not that brings in money at all, but whether or not that is a likely efficient approach.
angry-hacker 2 days ago 2 replies      
Paid for the "influencers" in my niche to talk about my product. It works. Now who said native advertising doesn't work? Unethical? - maybe...
amasad 2 days ago 1 reply      
https://repl.it/api is an API to execute arbitrary code in a sandbox from anywhere on the web. People use it to build code interview sites and programming tutorials. Initial customers came from our open source work where I included a link to it.

It's now basically running itself and I don't do much with it because I recently quit my job and made this into a company and I don't see the API being a big part of the business.

jasonkester 2 days ago 0 replies      
I used to be a lot better at blogging. Or possibly it was just a bit easier to get to the front page of Reddit 10 years ago, because that's how I did most of the marketing for Twiddla back in 2007 & 2008.

This post:


... followed a week later by this one:


got us a ton of traffic and kept us going until we got accepted to SXSW and won our category, getting us picked up by mainstream tech blogs and such, leading to this:


I sort of stepped away from blogging after that, which from a marketing standpoint was probably a mistake. It's been harder to get coverage for my more recent products.

shireboy 2 days ago 0 replies      
I'm the author of Trello Dojo https://leanpub.com/trellodojo Marketing does not come naturally to me. I feel like it's a good product, but I don't want to be spammy. By far the best marketing choice was to ask Trello to put it on their resource board. I was so nervous- what if they didn't like it? What if they sued me for trademark infringement or something? They did none of those things and put it up cheerfully, where Google Analytics says a majority of me references come from.
anthnguyen94 2 days ago 0 replies      
SyntaxDB (https://syntaxdb.com) was put on PH and HN and that gave it a significant increase in traffic.

It was actually posted on PH once before, but that time it wasn't featured. Almost one year later, I built an API, several extensions, increased the amount of content, and integrated it with DDG. Eventually I decided it was worth giving the PH people a shout to see if it would get reposted (they let you repost if your product makes substantial progress). It successfully got featured that time.

nhorob67 2 days ago 2 replies      
Facebook ads to blog posts. I've seen a 10.5x return on my investment so far. For my farm software company: http://harvestprofit.com
goatherders 2 days ago 1 reply      
Great question and thread. I launched my side project a month ago and have had zero conversions after about 200 click thrus from Facebook ads. It's a platform for freelance developers and designers to pick up extra work without me being a middle man; I introduce you to possible clients and the subsequent conversations and experience are up to you.


Then I got busy at work and haven't spent as much time marketing it.

jonobird1 2 days ago 0 replies      
With https://LaunchLister.com, I found that the best marketing I did was Twitter surprisingly.

Cater to the audience and engage with the founders and it has a steady flow of increasing subscribers.

I just make sure my newsletter has good content consistently for my readers.

jonathanbull 2 days ago 2 replies      
https://emailoctopus.com - for cheap email marketing via SES.

Submitted to the usual channels (HN, PH, Reddit) and saw a spike in traffic. But what really worked was not charging anything for 3 months - people are much more keen to tweet/blog about something if it's free. They're also a lot more forgiving if they run into a bug (of which I used to have many!).

tonyjstark 2 days ago 0 replies      
With Wokabulary (https://wokabulary.com) we did no marketing for years and just worked in our spare time on the product. Still we got some posts by magazines and blogs. Now we do a bit more like writing to review sites and journalists but we don't see much traffic growth by that. OTOH we are not really good at social media stuff.

To answer your question, for us listening to customer feedback and releasing new versions periodically worked best so far.

skaplun 2 days ago 0 replies      
Hey All,I run UX-App (https://www.ux-app.com/dev/editor?m=trial), a web based mockup & prototyping tool, that attempts to give more flexibility to users by directly styling html components & manipulating the full range of front end events using an intuitive drag & drop graphical programming language. Our model is a monthly subscription, starting @ $5/month with all features included.

We're steadily growing just by being there every day. I try to write about my experience across all social channels + medium, seek partnerships with other like-minded businesses, find biz devs who will engage their network, go to meetups of product/project managers and seek partnerships with other sites in our domain.

bkrull 1 day ago 0 replies      
I run BitPixels (http://www.bitpixels.com) that provides automated website thumbnails. I actually purchased Bitpixels from another HN member a few years ago and have continued to build and market it.

The primary marketing channel is offering a free account that requires attribution on their site (e.g. "Thumbnails powered by BitPixels). The attribution links drive several new users per day and some eventually convert to premium accounts.

taytus 2 days ago 2 replies      
Hi, I'm Roberto and I run http://statimgram.com. We are Buffer for Instagram. We are officially launching this week, but we already have some paying clients using the system.We had some early press coverage: http://launchdfw.com/2016/07/07/statimgram-fills-void-instag... and I contacted a couple of local advertising agencies. I'm also a professional photographer and this product is something a lot of professional photographers told me they need.If anyone would like to test Statimgram for free (or have any question), please shoot me an email to roberto@statimgram.com.Cheers!
lukethomas 2 days ago 0 replies      
For me (https://fridayfeedback.com) it's been a mixture of outreach (sales), writing in-depth guides about topics that are interesting to the target market (managers). I've tested some ads, but no dice yet.
rafapaez 1 day ago 0 replies      
I run Transparent Startups (http://www.TransparentStartups.com), a place that collects more than 40 startups that are sharing their revenue numbers and growth stories. Most of these startups are still side projects or started as such.
recmend 1 day ago 0 replies      
My side project Nucleus Digest https://digest.meetnucleus.com index of great startup content. I market it by publishing content on twitter, point resources to HN, Reddit, GH community questions etc.
kkt262 1 day ago 0 replies      
Best sources for us (http://vyper.io) -- Product Hunt, Email marketing, content marketing (blogging), communities like Reddit / Inbound / GrowthHackers, and PPC (Adwords).
novaleaf 1 day ago 0 replies      
i run PhantomJsCloud, I tried Adwords and found it to also be a total waste of time/money (as mentioned by others here).

basic SEO seems to be what works. I should work on more "inbound marketing" content but have a few technical features to add before doing another SEO push.

also answering related questions on stack overflow helped me in the initial MVP phase.

NateG 2 days ago 0 replies      
http://www.pitofwar.com is an online browser game I created that targets a niche audience who likes strategy/simulation/text heavy style games.


When I first launched I had two email lists I used. The first was an email list I had laying around from an older game I had created many years prior. The second email list I stumbled upon for an old game with some similar mechanics to the game I was creating. I composed two sets of emails and sent them out to the lists. For the list of my old players I re-introduced myself and told them about the game. For the second list I started the email off with a sentence that said something along the lines of "this is a one time email, I will not email you again unsolicited. You are receiving this email because you may be interested in a game I've just created...". Those two emails got me my first 200 players.


After that I found some gaming forums and asked the mods if it would be ok if I posted a message about Pit of War and they were cool about it and said go ahead. That style of marketing grew the player base again. I had a friend who was the mod for a high traffic web master forum and he made a post in their "off topic" section that helped get some more traction.


He also knew a handful of folks with a good number of Twitter followers and asked them if they'd make a tweet about Pit of War and they were kind of enough to do that for free to help me out.


I tried Facebook ads a number of years ago and they weren't very effective, however, I'm told they are much better now. I may try them again in the near future. I then turned to cpmstar which is an ad network dedicated to games. This proved to be very good with the CPA (Cost per Action - which in my case is someone clicking on the ad and then signing up for the game) being much lower than the LTV for a player gained through this channel so I focused on that for awhile. CPA prices have gone up a lot since I started and there are many more games out there competing for the same eyeballs so this channel has started to wane but is still acceptable.


Using DeviantArt and Facebook I would upload some of the art from the game which would get shares and more eyeballs which helped increase exposure and player count.


I asked my friends and family to try the game out and if they liked it to please share it with people they think might like it as well.

Hard to pick a best because each channel contributed. Having said that, the initial email lists and paid advertising via cpmstar were crucial for the success of the game I believe.

icelancer 2 days ago 3 replies      
Nothing. I made the best mousetrap. Then I told people it was the best mousetrap. And I never lied or used marketing BS. Now my company is worth $2MM.

That's how it used to work. It still does.

GitLab reinstates list of servers that have malware gitlab.com
450 points by dwaxe  3 days ago   92 comments top 14
Terretta 3 days ago 2 replies      
What a lovely mea culpa. Straight to the point.

We thought another way, but here's the counter argument, we agree, are sorry, and fixed.

Rare candor.

SwellJoe 3 days ago 2 replies      
This is the proper decision here, but not merely for the reason they've given.

The best reason the list should be widely available: The exploit has already happened in this case, and disclosing it doesn't help attackers do further harm; the harm is already done. Removing the list is closing the barn door after the horses are gone.

smnscu 3 days ago 1 reply      
Just applied for a position at GitLab, absolutely love this company!

PS: you can do it too, they're completely remote!



08-15 3 days ago 1 reply      
I don't get why anyone views this as a positive thing. The announcement effectively says "We took it down because we didn't think about it, but then we changed our mind." Okay---and a lively discussion on HN had nothing do with it, I presume.

GitLabb, you could have admitted publicly that you made a mistake, but you didn't. Making excuses is a promise of repetition, so I read this as "Next time something like this happens, we're again going to delete the account, unless there is too much backlash on HN again." Sorry guys, but the damage is done and you missed your one chance to repair it.

dsabanin 3 days ago 1 reply      
Looks like GitLab is the new GitHub - open, human and doing the right thing. Great!
learned 3 days ago 0 replies      
GitLab's customer service and reaction speed never ceases to amaze me. For anyone interested in constructing great customer relationships, I recommend using GitLab as a case study.
jlgaddis 3 days ago 3 replies      
> At GitLab we strongly believe in responsible disclosure, ... So publishing a list of servers ... is not OK.

In my opinion, this comes very close to "censoring" content.

That's great that GitLab believes in responsible disclosure, but that doesn't mean that everyone does or that you get to force your beliefs on your users or customers.

If you do in fact plan to censor content then you need to be very clear about that up front and identify what types of content you will not permit.

I'm glad that GitLab has done a 180 and reinstated the content. In the future, I hope they will fully think through any decisions to pull down content that they don't "agree with". I do give them credit for recognizing they made a bad call and admitting to it.

dudul 3 days ago 2 replies      
One of the few companies out there who give me hope. Switched all my projects to GitLab a while ago, never looked back.
nodesocket 3 days ago 3 replies      
Let's be honest, the people that are reading the list on GitLab are highly unlikely to be end consumers purchasing at those stores. If anything, this list provides a potential target list for other hackers to try and compromise those stores even further. I believe this to be irresponsible and furthermore still a violation of responsible disclosure.
gohrt 3 days ago 3 replies      
The article's logic doesn't make sense.

In every vulnerability, the users are the victims. Web stores aren't a special case in the debate of "responsible disclosure" vs "immediate disclosure".

GitLab changed their stance from "responsible disclosure" vs "immediate disclosure". That's their choice, but they shouldn't mince words about it.

basicplus2 3 days ago 0 replies      
Is there a plugin that compares sites I visit to this list automatically?
AlfeG 3 days ago 1 reply      
Soooo, is there an extension that will prevent me from visiting sites from the list?
dustinmoris 3 days ago 0 replies      
GitLab is a joke. They just copy what other do, but as soon there is a bit of bad publicity they immediately change their opinions just to please the community. GitLab has really become the communities' bitch. They copy paste everything they find and try to please everyone, but I don't think this will get them very far. I am glad there's so many other tech companies who try to do their own thing by being innovative.
fibo 3 days ago 1 reply      
GitLab is a (bad) copy and paste of GitHub, even the name is similar.I know maybe I will burn some karma point but I want to express my opinion cause I believe in the value of creating things, not to steal ideas.What if the list were put on GitLab first? Probably, without the GitHub example you would not remove it, even notice it.
Peter Higgs: I wouldn't be productive enough for today's academic system (2013) theguardian.com
374 points by ramgorur  3 days ago   140 comments top 15
mpweiher 3 days ago 7 replies      
When I was first exposed to the research "environment" during my Diplom studies (undergraduate - graduate, early to mid 90ies), I immediately recognised that if you actually love research and knowledge, academia was the last thing you ever want to get into. No surer way to kill the spark.

Now that I've gone back to do my PhD, the only reason I can do something I consider meaningful is because I am not a regular PhD student. Interestingly, that's also the feedback I get, though as "helpful" advice that while what I am doing may be both good and important, it is unlikely to lead to success in academia. With the implication that I should stop doing it and concentrate on something more reasonable. Fortunately, I am not particularly interested in success in modern academia, so I get to do something I consider both good and important.

A related issue is that there really is no such thing as a senior researcher. Instead, professors are turned into research managers, responsible for helping their charges' careers, who then also turn into research managers. Actual research appears to be mostly a still not entirely avoidable side-effect. (And this seems similar to the way the only real way to advancement in industry is to switch to management, all dual-track equivalence rhetoric aside).

erikb 3 days ago 2 replies      
I can feel him. It is not just in science, but in business as well. People want results, not understand their problems. And they want them yesterday, despite only telling you about it today. In some regards it's just a trick to keep you working hard for them. But still it's neither fun nor actually productive.

It's great to work with freelancers though, since from the good ones you can learn how to handle that situation: Don't give users, customers, management enough information to really control you, understand that you are the one providing the results or not, and don't talk about your work but only about that part of the results that they actually care about. This way they don't consider you unproductive or incompetent, but that they need you. They still hate you, but they hate you because they need you. And that you can use to actually solve problems, take the time you need, and thereby provide the results they really need.

bvv 2 days ago 4 replies      
Peter Higgs published about 5 scientific papers after his Nobel-winning work in 1964 until his retirement in 1996, none of which were particularly impressive. I think this is below any reasonable standards, not just below contemporary academic standards. Therefore, barring special circumstances like an exemplary teaching record, in my opinion Edinburgh University would have been right to sack him and replace him with a more productive person. In short: I don't think that Higgs nearly getting sacked is an accurate indication that academia has too much of a 'publish or perish' culture.
robotresearcher 2 days ago 1 reply      
We expect senior professors to train students. How do you train students? By getting them to do work and write papers. If they haven't published by graduation time, they can't prove they can get the job done. This is the main reason that senior people produce a lot of papers - they have a lot of students.

I've written a bunch of papers - I don't care any more about quantity. But I want each of my graduating students to have a publication or two so they can get a job. So we turn out a bunch of papers every year, and no, not every one is earth-shaking, partly because roughly every second paper is a student's first one and that's what they were capable of at the time.

It's easy to miss this kind of dynamic from the outside.

wazoox 3 days ago 4 replies      
Jean-Pierre Sauvage (chemistry Nobel price 2016) said exactly the same thing recently. Working without pressure for 30 years in a state funded facility was central to his achievements.
leksak 3 days ago 2 replies      
This may be a symptom of the hyper-connective world we live in today. You observe this phenomenon elsewhere outside of academia as well. There is an intense pressure to distinguish oneself from the greater body of people occupying the same industry as yourself.

Consider that a vibrant Github profile is essentially a prerequisite to be considered as an engaged professional in software engineering these days. It doesn't matter if you have ethical qualms about Github, or spend most of your day doing... your day job.

A 22-year old shouldn't have to fret about not having enough public repositories or not having contributed enough to open-source. I'd expect any craftsman to start producing their best work well into their career, and not at the start of it.

SubiculumCode 2 days ago 1 reply      
The core problem are grant procedures. Universities get a 20%+ cut of grants a professor eecieved. Therefore they wants professors who receive lots of grants. Grant awarders are judged on their ability to choose applicants that create value using those funds. An easy metric is papers produced. And those who publish lots of papers in the past is a good predictor of future production. So these are the applicants that get funded.

Another problem is the lack of funds for professor positions relative to the number of trained applicants. With so many qualified academics, departments have to use some metric to base decisions, and publications is more measurable (grant $$$) than scientific value.

Odenwaelder 3 days ago 4 replies      
He is probably right. The current academic environment is terrible and drives talented young researchers out of basic research. But still, it delivers. The question for me is, does it deliver more, less or the same amount of knowledge than during Higgs's time?
dschuetz 3 days ago 0 replies      
I ditched my academics career and went into public service. I expected to do actual science, instead I ended up studying bad papers which cost huge piles of money. I feel sorry for the naive and the burnt-out young academics. Potential wasted all the way.
DrNuke 3 days ago 0 replies      
A strong will is needed to do research in the dark, you are going to sacrifice a lot and as an outsider you will almost always be looked down, very often rightly so (because you miss the day-to-day peer review that at the very least avoids you methodological or execution mistakes).
guelo 2 days ago 0 replies      
It was cruel and unusual punishment by whoever it was that recommended that a scientist who doesn't watch television should watch that awful scientist insulting sitcom.
partycoder 3 days ago 0 replies      
The problem is that universities and journals are ranked.

Rankings are based, in part, on metrics related to publications and citations and that's the utility function they try to optimize.


transposed 2 days ago 1 reply      
"He has never been tempted to buy a television, but was persuaded to watch The Big Bang Theory last year, and said he wasn't impressed."

... [choppy panted laughter]

throwwit 2 days ago 0 replies      
Eventually, the biggest consequence of a focus on incremental advancements may be that there will be no more 'Einsteins' or Higgses in a role-model sense.
agumonkey 2 days ago 0 replies      
A sign of the higher freq / lower amplitude of todays era ?
Modern Software Over-Engineering Mistakes medium.com
380 points by rbanffy  3 days ago   133 comments top 21
sidlls 2 days ago 9 replies      
He missed at least one: functions should be "small" and broken up for "testability."

No, functions should perform one task and perform it well. Not every conditional test inside the function needs to be its own function and have its own unit test. Sometimes a function that does just one thing and one thing well has more than one step to do that thing, and those steps don't necessarily belong in their own functions. Testability and composability are important, but that has to be balanced against locality of reference and context. When I see a colleague write in a code review that pieces of a function should be factored out of a larger function "just in case they'll be reused" I step on it hard. This is related to "over generalization" but not exactly the same.

ams6110 3 days ago 3 replies      
Back in the days when I worked on a largish "classic" ASP site (each page is a file full of mixed HTML/VBScript) the senior developer insisted that the best approach for developing anything new was to copy a page that did something similar and then change it to fit the requirements.

There was no code re-use.

Sounds insane by today's practices but in reality it worked well more often than not. Business functional changes almost always applied to just one or a small number of pages. You could change those pages with impunity and be pretty confident that you would not break anything in any of the hundreds of other pages in the site.

Rarely this approach caused more work when a change did affect dozens of pages. But on balance it made most changes much easier to implement and test.

jacques_chester 3 days ago 2 replies      
Those who forget history are doomed to be dogmatic software developers.

A lot of stuff we take for granted are either accidents of history, or powerful counter-reactions to the accidents of history.

There is a practice, and it turns out to be bad. Mild discussion of the virtues and vices would, in a world composed of Asimovian robots, be sufficient to update the practice to something better.

But that's not how humans work! Typically an existing practice is only overturned by the loudest, most persuasive, most energetic voices. And they have to be. Humans don't come to the middle by being shown the middle. They come to the middle after being shown the other fringe.

So a generation changes its mind and moves closer to the new practice. Eventually, that is all the following generation has ever heard of. The original writing transforms its role from mind-shifting advocacy to the undecided to being Holy Writ. The historical context, and with it the chance to understand the middle way that had to be obscured to find the middle way, is lost.

My previous role was as an engineer teaching other engineers an XP-flavoured style of engineering. I often referred to our practices as "dogma", because we are dogmatic. But if we aren't, less learning takes place. Dogma is most instructional when someone later finds its limits.

When I was learning to coach weightlifters, I was told something that has always stuck with me: "As a coach, you will tell trainees a series of increasingly accurate lies". You can't start with nuance. In the beginning, it won't work.

caseymarquis 3 days ago 1 reply      
I think working on a large project in c89 made me better at writing in other languages.

When you strip all your useful tools and concepts away, you're forced to rethink how you can organize with just data types and functions. Surprisingly, you can do pretty well with just these.

It's the sort of thing that helps with recognizing when you're looking at FizzBuzz and when you actually need to use a generic factory.

firasd 3 days ago 1 reply      
I like this part: Duplication is sometimes essential for the right abstraction. Because only when we see many parts of the system share similar code, a better shared abstraction emerges. The Quality of Abstraction is in the weakest link. Duplication exposes many use cases and makes boundaries clearer.

I just did this yesterday... copy/pasted some code from one function to another function, tested that the new function works and moved on, and then when I went back to work more on it, I wrote more generic code that can be called by either function. Don't have to overthink things before writing the first function.

partycoder 3 days ago 4 replies      
Point #7 are called non-functional requirements. Those are often implicit from non-technical people. Nobody will say: "I don't want to be hacked" or "i don't want this system to slow down and die"... This guy says "we don't need NFRs, focus in the functional requirements"... well, that's exactly the cause behind most engineers that get fired for technical reasons: causing one or more serious incidents by not caring about those requirements.

Point #2... seriously? Keep your code consistent, and if you identify opportunities for reuse for things that are related then do it. Copying and pasting code, which is what this guy is advocating for, is not good.

DenisM 2 days ago 1 reply      
The most interesting takeaway for me is this: [...] The best quality of a Design today is how well it can be undesigned [...]

Aiming for design that's easy to refactor and/or replace bolsters application longevity at the expense of code longevity. I like that. It's like the ecosystem longevity is achieved at the expense of the longevity of individual organisms...

Now then, who has ideas, or best practices or even just anecdotes? I'm eager to hear those!

For my part, I follow design philosophy that revolves around persistent data structures. My code is supposed to be just an accessory to the data. I don't think I'm explaining this well, it's just where I put all my focus on. Another principle is to try capturing users intent rather than the outcome of users actions. This way I can redo the code that detived outcome from actions and fix some the earlier erroneous behavior.

edejong 3 days ago 6 replies      
Point #8 sounds great: reuse OSS, don't reinvent the wheel. However, this only applies to software that is maintained, now and in the future. Relying on obscure code-bases without knowledge on its inner workings is going to bite you down the line.

Examples? Grunt, Bower, Hibernate, Apache Commons. How long did it take the Apache Commons project to properly add generics to its libraries? How is backward compatibility and developer availability holding back projects down the line?

Additionally, in order to use a library, you need to have a good knowledge of the problem it tries to tackle. By overly relying on open source software, you might blunt the competitive advantages of your business. It's an example of exorbitantly relying on abstraction.

hliyan 2 days ago 3 replies      
Of all the 'maintainable' design pattern use I've seen over the past decade, I have never seen one prevent a continuously maintained code base being rewritten periodically. All that work is thrown away just as a simple to-spec implementation would have been.

It seems that just as in literature, in software engineering too, the essence of writing is rewriting...

iabacu 2 days ago 0 replies      
This is a great article, thank you very much for writing it.

I pretty much agree with all points, except number 9 could probably be "Not challenging the Status Quo" instead of "Following the Status Quo".

Breaking the status quo just for the sake of it would be a mistake, while healthy challenge of status quo with open mindedness to accept to not change anything is probably a better direction.

> Areas of code that dont see commits for a long time are smells. We are expected to keep every part of the system churning.

Or it could be an indicator of mature features that were well designed and implemented to minimize future headache: they just work and have very few stable dependencies, if any.

clifanatic 1 day ago 0 replies      
One of the (really sad) reasons I suspect is behind a lot of these practices - like pointless wrappers and pointless genericization - is that nobody will pay you to "understand something". You have to produce something, even if you don't quite understand what it is you're supposed to be producing. Sure, you can spend an hour reading a horribly written-by-committee "requirements document", but you had better be producing something that looks like a program by the end of the day. Since admitting that you don't quite yet "get" the DB layer is a fast-track to the unemployment line, some developers have learned to buy time by creating meaningless abstraction layers while they're trying to figure out the inner details of OAuth or Cassandra or whatever else was supposed to be "saving us time".
gtirloni 2 days ago 0 replies      
Besides agreeing with the article on many points, I thought the examples were gold. Too often articles about best practices are too abstract.

I would love to read more practical articles like this. Any URLs people could share?

lordnacho 3 days ago 2 replies      
Those things are not necessarily all that terrible. I can see how overeager coders might do any of those things in anticipation of some as yet unseen requirement. And it's not always clear why a code base evolved the way it did.

Also let's not forget the opposite. I've worked in places where everyone just wrote their own spaghetti, no concept of version control, and every time there's a small change it takes ages for the only coder who wrote it to untangle and modify it. Basically a steaming pile of turd, used to invest real money in the real market. The worst part about it is when you call them out it's YOU who doesn't understand the requirements.

quickben 3 days ago 1 reply      
11. You need Big Data.
partycoder 2 days ago 0 replies      
smegel 2 days ago 0 replies      
Not modern software, just bad software, written by Java developers.

Not everyone thinks or codes like this, and those that don't are not all greybeards.

tbrownaw 3 days ago 3 replies      
1. Engineering is more clever than Business

...I don't get it? This sounds like it should be saying we try to "plan ahead" too much, but then the description seems to say we don't do enough.

2. Reusable Business Functionality

I think this is arguing against doing too much design work up front? From what I've seen, incrementally growing a system tends towards the opposite problem unless I'm aggressively looking for refactoring opportunities.

3. Everything is Generic

This isn't a case of too much vs enough, it's a case of correct vs incorrect. If you can guess how the business requirements are likely to change, making things generic in the right way will make that change much easier to do.

4. Shallow Wrappers

Yeah. Unless you have actual advanced knowledge that you'll need to switch out a particular library, this should be done on-demand as a refactoring step before such monkeying around. Except for things where you need a seam to make testing easier.

5. Applying Quality like a Tool and 5.1. Sandwich Layers

...does anyone actually think this way?

6. Overzealous Adopter Syndrome

Maybe, but keep in mind these can also be used to clarify intent or to intentionally constrain future changes.

7. <X>ity

The examples look like things where pursuit of whichever <X>-ity didn't actually work, rather than cases where it wasn't needed.

8. In House Inventions

These tend to be a result of either very old systems that date back to before an appropriate reusable version became available, or organically grown systems that had parts gradually come to resemble some existing reusable thing (that initially would have been overkill and more trouble to use than it was worth).

9. Following the Status Quo

Or in other words, "don't fix what ain't broken" isn't actually good? How is this "over-engineering"?

10. Bad Estimation

How does this fit the theme? I thought the standard way to improve estimates was to put more thought and detail into them, which means the problem here is actually under-engineering (well, that and general noobishness).



Edit to add:

Important Note: Some points below like Dont abuse generics are being misunderstood as Dont use generics at all, Dont create unnecessary wrappers as Dont create wrappers at all, etc. Im only discussing over-engineering and not advocating cowboy coding.

So... if you disagree you're wrong and misunderstanding the article? If it's that misunderstood, it's the article's fault for failing to communicate effectively.

pastaking 3 days ago 1 reply      
Finally, some real talk!
0xAA55 3 days ago 5 replies      
This only really applies to web-developers.... but I guess that is what is meant by "modern software"
haalcion3 2 days ago 2 replies      
This is a fairly well-written post with some good ideas and some generalizations that are going to get somebody in trouble if they follow all of them, e.g.

> TL;DRDuplication is better than the wrong abstraction

Woah, horsey, hold on a moment!

While it's true that an abstraction can get you into trouble, that's not always true.

Over my many years I've heard a number of people say: "We have 100 copies of the same site, but slightly altered for each client, and we don't have time to go back and refactor them, we can't upgrade them, and we're three major versions behind. Want to come work for us? (Silence.)"

I've only heard one person say, "We refactored X and it bit us in the ass, because the developer didn't check when he/she was altering it and accidentally changed behavior for everything."

cheez 3 days ago 0 replies      
This is great. TL;DR of the whole thing? Don't do (almost) anything unnecessary ahead of time.

I have a small bone to pick with 4) Shallow wrappers. My design process involves ignoring existing solutions for problems and then finding things to match my desired design. Often, this requires absolutely no wrappers, sometimes it requires shallow wrappers, sometimes more involved wrappers, sometimes implementing it all myself.

I do agree that you should not blindly wrap anything.

All in all, a great article. I think this should be required reading for aspiring designers/architects.

Noms A versioned, forkable, syncable database github.com
399 points by jaytaylor  3 days ago   96 comments top 18
niftich 3 days ago 0 replies      
Open-source tech like this is nice. This could be used to build a distributed document editing application, for example. Or any application where you want to spin off multiple instances and reconcile the data later.

EDIT: At least one team is investigating layering Noms on top of IPFS [1]. I guess the idea would be to construct something similar to GitTorrent [2]; layering various version-controlled datastores on various p2p protocols could result in several viable architectures.

[1] https://github.com/attic-labs/noms/issues/2123#issuecomment-...

[2] https://github.com/cjb/GitTorrent

jbverschoor 3 days ago 2 replies      
tominous 3 days ago 1 reply      
Adam Leventhal (DTrace, OpenZFS) took a look at building a FUSE filesystem on Noms using Go.



aboodman 3 days ago 9 replies      
Hi Hacker News. I'm one of the founders of the Noms project and Attic Labs, the company behind it. Happy to answer any questions.

In the meantime, as long as I've got your attention, here's a few new stuffs we've been working on since last time Noms was discussed here in August:

- A prototype query language, and a demo of how to create indexes in Noms: https://www.youtube.com/watch?v=fv6_T5yaWns

- Support for merging concurrent (and potentially conflicting) changes: https://www.youtube.com/watch?v=--7dgoJBdjU

haalcion3 3 days ago 2 replies      
I've been wanting to use something like this.


* It's a big jump from relational or noSQL DB's, so there aren't (m)any adapters that I can see for it for JPA, ActiveRecord, etc.

* I'd really like to see a benchmark for each noms implementation compared to postgres, mysql, oracle, and mssql server, if there is a way to do apples-to-apples.

* "noms" is unfortunately is really bad for SEO because noms is a common word in French. If it could be nomsdb or nomnomnoms or something less exactly French, that'd be better. It's going to be tough to find support online easily otherwise.

* SQL compatibility.

* Fault tolerance (how easily does it corrupt), HA, mirroring, full/partial replication, sharding, archival, partial history truncation, etc.

It seems a little like a dolphin jumping into a pool of hungry sharks. It might be more evolved and more capable in some ways, but it's going to get its ass handed to it on speed and lack of features.

Still- I can't wait to try it.

kccqzy 3 days ago 0 replies      
I think there is a very similar library in Haskell called project m36. Here's its github page on transactions: https://github.com/agentm/project-m36/blob/master/docs/trans...
duck 3 days ago 0 replies      
Previous discussion from back in August: https://news.ycombinator.com/item?id=12211754
marknadal 3 days ago 1 reply      
Noms is a great example of the power of decentralized database technology, the interesting research that goes into such systems, and wonderful documentation to browse.

I do want to note some tradeoffs with Content-Addressed and Append-Only systems, as my work on a similar project ( an Open Source Firebase, https://github.com/amark/gun ) made me move away from those ideas (even though they are great ideas).

- Content-Addressed stores are going to revolutionize data integrity and efficiency. But they do have a trade off, it makes it a lot harder to read the data if you do not already know the data you are trying to read! The bottom of the repo metions for instance that a query system has not yet been built. From my experience the reason why is because it is difficult to build query systems on Content-Addressed stores, which is a tradeoff from all the gains you can get from it.

- Append-Only gives you rich features like offline-first support and (if implemented) lovely things like rewind/fastforward data time travel. All very cool. However, do not forget that this then also makes it difficult for you to retrieve the latest whole snapshot of your data. So you are not going to get the read performance that you could.

But the only possible way for us as a community, and people playing around with databases, can figure out what the best system is - is for people to build and experiment. Which is part of the reason why Nom is so cool. It is an invitation to others to actually join, play, and experiment with database technology in an open and encouraging environment. That is incredibly valuable and needed!

100ideas 3 days ago 1 reply      
Looks farther along than http://dat-data.com/, another commendable distributed VCS for data. One distinction is that dat provides additional utilities for querying and compositing the data structures represented in any csv, json, and yaml files that stores.
angel-manuel 3 days ago 3 replies      
I really like this, I've always thought that git needed to support diff modes different from textline-based because even if this is fit for most programming languages what you really what is to see differences between ASTs (take into account those absurd change counts when just changing the indentation or imagine a normal diff of LISP source).Maybe there's some way of replacing git with noms to get there(even if it may be killing flies with cannonballs)
rpedela 3 days ago 4 replies      
Very interesting, I think we need a git for data. What is the performance of diffs and merges? What data size does it become too slow?
mahyarm 3 days ago 1 reply      
I hope there is a prune option to delete very old commits.
benjismith 3 days ago 0 replies      
Nice. I'm super excited about this!

I've hand-rolled something a lot like this already for the Shaxpir backend, but it would be really nice to have a well-engineered database that already supports this kind of model, out of the box.

jimktrains2 3 days ago 1 reply      
I've been working on some syncing addressbook, calendar, password manager, and notes applications. My idea was to use mdns to announce presence and git to sync, but this might be (more) useful
kfk 3 days ago 1 reply      
Have you had a look to the finance world? Git for data seems to be something we in finance really need, especially the possibility of seeing all the changes and of reconciliating things.
sroussey 2 days ago 0 replies      
How does this compare to gun.js.org?
ReAzem 3 days ago 2 replies      
Their logo is a squirrel giving an invisible blowjob
WayneBro 3 days ago 3 replies      
How is it that you have 2 reference implementations, written in 2 different cross platform environments, yet there is no support for Windows?

Why would I use this if I can't use it everywhere?

Becoming a CTO juokaz.com
359 points by djug  4 days ago   101 comments top 20
jgrahamc 4 days ago 3 replies      
I'm going to sound like an old fart, but it might be better to wait to write a blog post like that after you've spent some time experiencing engineering management in depth. It's very easy when capital is flowing freely and you've managed a team of 5 engineers to think that it's always going to be like that.

Ever been through an acquisition where 50% of the team was to be let go and you had to decide who and then tell them? Kill off a product after the team had almost completed it? Perform a lay off when times got bad? Give a serious, reasoned, estimated answer to the question (from the CEO): "How fast could we rewrite our entire code base from $FOO to Java?" Fire someone 20 years older than you and wonder quietly to yourself if he'd find another job? Manage more than a handful of engineers? Figure out how to outsource part of your development to India for financial reasons? Deal with a rapidly expanding customer base with creaking code? Manage a multi-million dollar budget when VCs aren't throwing money at you? Handle alleged sexual harassment? Spend hours and hours flying from customer to customer to explain your technology?

The 'pick which technology' to use part is easy and fun. Now go make that work in a real environment with real constraints.

My advice on becoming a CTO: learn how to write. You'll be spending a very large amount of time communicating your ideas.

dberg 4 days ago 5 replies      
"If the team wants to do TDD, or pair programming, or staging servers - they get it all approved by the CTO. Its up to him to consider the bigger impact of those changes."

As a CTO, my team knows I do not need to approve what the team wants in regards to TDD or how many environments they feel they need. We operate in a mode of "do whats best" and engineers smarter than me sure as shit dont need me to rubber stamp approval of writing unit tests. I absolutely create an environment that encourages high quality products and a robust testing process. How they accomplish that is up to them.

ryandrake 4 days ago 2 replies      
> I hate environments where the technology department is simply implementing what was envisioned by others. It might as well be an outsourced development team because it becomes independent of the decision making process.

I'd argue that the technology department should be very independent and empowered when it comes to the _technology_ decision making process. I'm less convinced that that's true for the product decision making process. I've worked in places where Product Managers and designers wrote all the requirements and dictated the look and feel down to the pixel, tossing it over the wall to developers to implement. I've worked in a place without independent, dedicated product professionals, where software engineering decided what the product should be. Both extremes have major weaknesses. You have to find the right spot on the spectrum between the two that works for the company and mix of talent you have. It's not all or nothing.

tensor 4 days ago 10 replies      
> The CTO must protect the technology team from becoming a pure execution arm for ideas without tending to its own needs and its own ideas.

As a CTO myself, I strongly disagree with this. Yes, a dev team needs to tend to it's own ideas, but no, it shouldn't be making product decisions. You should have product and design teams that tease out user problems and come up with solutions. In that sense, the dev team does simply implement the ideas of the company. They still make technical decisions of course, but not product or UX decisions.

devy 4 days ago 2 replies      

 Being a CTO doesnt mean you are the craziest hacker on the team. In actuality, writing code is probably the last thing you will be doing.
Not entirely true. This is a typical "You Mileage May Vary" scenario, in actuality. From all the small startup teams (headcount less than 15) that I've worked at in the past decade, CTO must be the role who leads in coding - in almost all the cases the first version of the software product was 100% done by CTOs because small agile teams don't have the luxury to be managing instead of doing and EVERYONE (even CEOs) wears a lot of hats.

After bootstrap and rounds of fundings, things will change for sure. But CTOs at very early startups are definitely more about doing less about managing IMMO.

oswamano 4 days ago 2 replies      
"If you ever find yourself writing a blog post on why PHP sucks, you are not ready."

About 4 articles down the article is about why PHP doesn't suck. This amuses me for some reason.

codesnik 4 days ago 0 replies      
Being CTO/CIO twice in my carrier, being protector of my small dev-realm almost fulltime, I completely agree with that article!so, probably it's wrong somewhere.
0xmohit 4 days ago 1 reply      

 Sometime down the road legacy applications become expensive to manage, but rewrites almost always deliver zero value to the customer. Its about balancing development efforts.
Well said. What is the guarantee that the rewrite would be relatively free from technical debt? I've seen several 100K lines of code being produced in rewrites that add absolutely no value -- neither in terms of performance, reliability, maintenance or even code readability.

jconley 4 days ago 0 replies      
Matt Tucker wrote a little blog [0] about being CTO. He went from co-founder to public company CTO over 15 years...

[0] https://www.linkedin.com/pulse/five-flavors-being-cto-matt-t...

agounaris 4 days ago 0 replies      
Juozas Kaziuknas is a good conference speaker. And as a good conference speaker oversimplifies some things to sell himself.

Being a CTO also means that "age" matters. Not because you are not smart but because you haven't worked with people enough to become a CTO. A person on his 20s or early 30, maybe has lots of technical experience already but definitely not the social skills to lead an organisation.

I remember I was interviewed once by a 25 years old "CTO" in a suit and really it was a nightmare!

> Ive sat in a few roundtables with fellow CTOs:This is kinda of what I don't like. We the "CTOs" gather to say "our" things and write blog posts about it.

ben_jones 4 days ago 0 replies      
As a CTO of a small start-up my neck is a little strained from nodding so much at this article. I really agree with... sorry I have an email with our largest customer to get back to.
joshmn 4 days ago 0 replies      
> Why are you stuck with this old version, why havent you rewritten it with React.js? Sorry to burst your bubble, but thats not a great idea. Sometime down the road legacy applications become expensive to manage, but rewrites almost always deliver zero value to the customer. Its about balancing development efforts. Building a team of people who only want to touch the freshly baked technologies is not sustainable.

I wish more people would realize this.

a13n 4 days ago 1 reply      
> but rewrites almost always deliver zero value to the customer.

I disagree. Sure no immediate value, but in the long run? You could argue certain rewrites would mean faster product development, less bug proneness, happier developers. All of these deliver value to your customers.

CorvusCrypto 4 days ago 2 replies      
So then would the true top "Engineering" role just be lead dev? This is the role I am more interested in. Having to keep up with the state of the field to me as an engineer/CS is A: more fun, and B: more rewarding.

If anything this blog post (along with others) just keeps confirming that CTO is something I never want to be.

Edit: I should also mention that it is practice at my current company that our leads basically are the ones that consider the balance of implementation details and whether we do rewrites vs. staged refactoring. Not the CTO. This definitely seems like more of an engineering call.

tboyd47 4 days ago 0 replies      
If what it takes to become a CTO is understanding all of this, then I'm ready. The only problem for me is that I'm not one. Oh well, back to refactoring unit tests.
tscosj 4 days ago 0 replies      
I hoped to get some real-life experience from the blogpost, literally blah what I read. With all respect to the author, though. I have no idea how that sort of posts are taking higher than 250 points nowadays. That's the question.
deedubaya 4 days ago 0 replies      
This article hit too close to home. It hits a lot of points which are all-too-true about many CT positions and how if they're not set up for success, how can the engineering team (and eventually the rest of the company company) also possibly be successful?
miles_matthias 4 days ago 0 replies      
Love posts like these. My friend & I started a podcast to help engineers learn from other CTOs.

Check out StartupCTO.io. Would love any feedback here or on Twitter @startupctoio

nstj 4 days ago 0 replies      
> Ive sat in a few roundtables with fellow CTOs

"Sorry guys, the event for tonight is cancelled, turns out the tables we were to sit at are rectangular."

scient 4 days ago 0 replies      
This guy gets it.
How breakpoints are set majantali.net
387 points by luu  1 day ago   66 comments top 13
pcwalton 1 day ago 3 replies      
Also worth noting: x86 supports four hardware breakpoints, which are sometimes more convenient, since they don't involve overwriting any instructions. (They're also more flexible because they can be used to trap on memory reads, etc.) https://en.wikipedia.org/wiki/X86_debug_register
dkopi 1 day ago 2 replies      
The reason INT 3 is used is that it's the only interrupt that has a single byte opcode (0xCC). Other interrupts require two bytes: CD <interupt number>.

This makes setting a breakpoint really easy, as all you have to do is replace a single byte (and restore a single byte) where you want to place your breakpoint.INT 3 being only one byte is also important when you're setting a breakpoint instead of a another single byte instruction - your newly set breakpoint won't override the consecutive instruction, which might be jumped to somewhere else in the code.

stinos 1 day ago 2 replies      
You can consider your debugger to be a program which forks() to create a child process and then calls execl() to load the process we want to debug

That is one way to look at it, but I find it a bit too limiting (debuggers can attach to an existing process as well) and too confusing (requires knowing what fork does/is, same for execl - and are those even used when attaching to an existing process?) and because of the latter functions used obviously coming from a linux background (nothing wrong with that, on the contrary, but I can imagine windows people or beginners still having no clue whatsoever about a debugger after reading this - though it's likely not the target group).

d23 23 hours ago 0 replies      
Weird, I just happened to be reading about this topic last night. If you liked this, make sure to check out the articles by Eli Bendersky in the footer. He has a 3 part series on how debuggers work:


jtchang 1 day ago 11 replies      
How would a program detect the use of a debugger? I know a lot of crackmes and other anti-piracy measures involve detecting the use of one but am not sure how they do it. Do they just look for running processes with a debugger signature like softice?
jack9 1 day ago 1 reply      
I went 20 years without knowing how breakpoints work because they always just did (when they were available). Reading this, it's unsurprising how the tool works. That's the best kind of tool.
gulpahum 1 day ago 2 replies      
Nice explanation.

However, it didn't explain how the debugger can stop again at the breakpoint after the last step? The interrupt command has been replaced with the original command, so the process won't stop again..

tavish1 1 day ago 4 replies      
Any comments on how breakpoints work on external targets, running bare-metal, and you can't replace instructions? Ex. debugging an 8-bit AVR, say atmega1280 over JTAG. I am guessing it has to do with the JTAG doing a simple compare of the PC with the breakpoint address, just want confirmation and more details.
pmalynin 1 day ago 0 replies      
Others have mentioned hardware breakpoints but I also want to mention another type of breakpoint that can be used for both code and data and does not require program modification. And I can name at least one debugger that uses this method. The method is hooking Page Faults. Set the present flag of the page you want to debug to false and you'll be notified of any code that is executed there. But you can also be notified when data is accessed and by which instruction and address.

On Windows this can be done with SEH and Linux has its own thing too.

apaprocki 1 day ago 1 reply      
Fun tidbit.. AIX ptrace() doesn't support single stepping (PT_STEP). So the way that single step is implemented is by actually interpreting the instruction and if it is not a branch, then simply do the breakpoint swap mentioned in the post. If it is a branch, then decode the instruction (for all the various types of branch instructions!), actually compute all forms of the implicit/explicit branch target (register based, offset based, absolute addresses, etc) and do the instruction swap at all the possible branch targets. After one of the branches is taken, then put everything back. Oh, and care must be taken to not disturb atomics...


pjmlp 1 day ago 1 reply      
No mention of hardware breakpoints?
Shivetya 1 day ago 0 replies      
So when stepping through are debuggers just using breakpoints over and over? how is a step through different than setting a breakpoint if at all?
Annatar 1 day ago 0 replies      
1. contemporary central processing units have large instruction and data caches.

2. ptrace() modifies the currently debugged program.

3. if the program currently being debugged is sufficiently small, it might end up in the processor's instruction cache.

4. instruction cache invalidation, at least on some processors like MC68000 family, causes crashes.

5. since ptrace() effectively performs the equivalent of self-modifying code, how is instruction cache invalidation avoided?

The 2016 Election samaltman.com
467 points by firloop  1 day ago   616 comments top 92
sctb 1 day ago 0 replies      
This submission has received a huge number of user flags. We've overridden flags and other software penalties for several of these stories already for being related to YC, but our primary duty is to the community and we have to let it protect itself from being ripped apart by politics.




lhnz 1 day ago 9 replies      

 > We should all feel a duty to try to understand the roughly > half of the country that thinks we are severely misguided. > I dont understand how 43% of the country supports Trump. > But Id like to find out, because we have to include > everyone in our path forward. If our best ideas are to > stop talking to or fire anyone who disagrees with us, > well be facing this whole situation again in 2020. > > That kind of diversity is painful and unpopular, but > it is critical to health of a democratic and pluralistic > society. We shouldnt start purging people for > supporting the wrong political candidate. > That's not how things are done in this country.
This impresses me. That is exactly what I was trying to explain to somebody else in the other thread, and I was starting to feel like it was a position that nobody else held.

simonsarris 1 day ago 5 replies      
Sam, just so you know, many of your sentences could exchange Trump for Hillary and be exactly what Trump supporters I know say. Especially this one:

> [Hillary] shows little respect for the Constitution, the Republic, or for human decency, and I fear for national security if [she] becomes our president.

Other sentences would just exchange antonyms and not make it sound any better. You call Trump isolationist, they call Hillary interventionist.

I fear that your reasoning for why you endorse Hillary and not Trump doesn't really speak to someone who likes Trump in the first place. Calling Trump racist, for instance, isn't going to flip anyone's voting bit.

The only very cogent Hillary endorsement (or rather Not-Trump endorsement) I've read that would actually speak to conservatives is this one: http://slatestarcodex.com/2016/09/28/ssc-endorses-clinton-jo...

Which is fairly long and not the kind of thing I'd suggest sharing with your Grandma or Thiel, but I think you could distill more convincing talking points from it that would appeal to people much more conservative than yourself.

Note: My own opinion is too wordy for the small margins here, I'm just relaying sentiments of people I've talked to. I'm from New Hampshire, and people here, especially up north, have had Trump signs from very early on in this campaign, way before anyone in the media seemed to take him seriously.

gizmo 1 day ago 8 replies      
Except Thiel is saying many of the repugnant things that made Trump popular.

- Thiel is passionately against all forms of political correctness, just like Trump.

- Thiel believes that the 19th amendment destroyed democracy, because women vote in favor for anti-libertarian welfare measures. When faced with the choice between saving democracy and capitalism, Thiel chooses capitalism. Trump shares this antidemocratic sentiment.

- Thiel: "A startup is basically structured as a monarchy. We dont call it that, of course." Trump shares this authoritarian leadership style.

- Thiel wants to restrict immigration to highly educated people. Just like Trump.

- Thiel is the (primary?) backer of Curtis Yarvin, the alt-right (read: white supremacist) thoughtleader about "human biodiversity" (read: why some races are biologically inferior). Trump has proudly declared his biologically superior ancestry.

- Thiel is a climate skeptic: "The idea that human activity alters the climate is "more pseudoscience" than science". Trump famously called global warming a hoax invented by the Chinese.

- They're both billionaires that want to lower taxes for the 1%.

Thiel supports Trump because Thiel agrees with Trump. Really.

sp527 1 day ago 18 replies      
> of course, if Peter said some of the things Trump says himself, he would no longer be part of Y Combinator).

This is precisely where your whole argument fell apart. If money is speech (and SCOTUS tells us it is) and Thiel donates over $1 million to Trump's campaign, then he effectively is saying what Trump is saying.

Money talks. In our society, it's almost always even louder than the calm reasoning of a rationalist.

tyre 1 day ago 2 replies      
It's a slippery slope to not associate with people based on politics. It is also a slippery slope to continue to associate with people because the views they support are those of a politician.

David Duke is running for senate. Does that make Holocaust-denial a political issue?

There was a time when women having the right to vote was a political issue. Today it is not (though Thiel has raised concerns about what women's suffrage did for capitalist democracy[0].)

There was a time when slavery was considered a political issue. Today it is not.

I don't think sexual assault is in the realm of "personal politics". I don't think racism is either. Can I take the time to understand people who might advocate for these? Sure, but that doesn't mean I want them as leaders.

Having Thiel as a partner in YC, when Silicon Valley has tremendous issues with diversity already, sends a strong message. It's not about supporting a political party. I'm sure the YC partners have a wide spectrum of political views. This isn't about politics.

[0]: https://www.cato-unbound.org/2009/04/13/peter-thiel/educatio...

protomyth 1 day ago 0 replies      
Its pretty simple why a lot of the country supports Trump.

Every election the media brands the Republican party candidate the devil and stupid (Romney was tagged as a racist last election and stupid for thinking Russia might be a threat). They also read all the leaked e-mails calling them stupid and see what the Clinton Foundation has done. They aren't ignorant or stupid and see when a fix is in. Never mind the various people that Sec. Hilary has declared she will put out of business.

I said it in another thread, "if you keep demonizing a group, expect them to send an actual demon eventually".

I honestly believe if you cannot understand why people support Trump, then you just don't want to understand or believe that they are full of hate. They aren't full of hate. Most just don't believe the media anymore. Take the media outlets this morning blaming Trump for the burning of a GOP office. I think the quote that comes up most often is "If he were really that bad, NBC would have had to fire him during his time on TV and besides Bill is worse". The media outlets didn't do themselves any favors by holding onto tape from 2005 until after the convention and using it as an "October Surprise".

As for me, I didn't get to vote in the primaries because of issues with the GOP and the ND GOP. My candidate didn't get in (Rubio), and the Libertarian candidate is a disaster. I was hoping the Libertarians could get that magic 5% like Perot's party did in 1992. I might still vote Libertarian. I really doesn't matter as far as electoral split. I am more interested in the governor's race. I won't vote for Hilary since she is an actual demonstrated threat.

sanjeetsuhag 1 day ago 3 replies      
> We shouldnt start purging people for supporting the wrong political candidate. That's not how things are done in this country.


blfr 1 day ago 5 replies      
I already made this point today but Hillary Clinton, whom sama is endorsing, has directly contributed to starting two wars (in Syria and Libya). While Trump threatened to ban Muslims from entering the US, her actions have already led to thousands of Muslims being killed. Isn't that strictly worse?
adamnemecek 1 day ago 5 replies      
As much as I hate Trump, I'm kind of hoping for him to win. Fundamentally, I think that 4 years of Trump might be better than 8 years of Hillary. Also, if Hillary wins, the DNC won't have to change. If Trump wins, in 2020, they will be forced to nominate maybe someone like Sanders.

Trump winning will also really underscore how broken the US political system is and I'm hoping that him winning could be a catalyst for some change.

bonaldi 1 day ago 7 replies      
YC: Happy to cut people off over SOPA support.

YC: Can't bring itself to even censure a billionaire who only works with them "part-time" for supporting actual hatred and sexual abuse.

I await this thread filling up with "but how you can be tolerant if you don't tolerate intolerance?!" and other Phil-101 Do You Sees

eternalban 1 day ago 2 replies      
> His racist, isolationist policies ...

Had to take a pause right there. (Disclosure: I am a Muslim, naturalized American citizen that emigrated to US in '79.)

Critiques of Trump's positions are as exagerated as the candidate's own verbiage, perhaps even more so.

I will not touch the "racist" item :) but as to "isolationist", this is false at face value. Non-aggression is not isolationism. Very clearly stating that US should work with Russia, Syria, and Iran (!) to finish ISIS -- oh, the irony -- is not an "isolationist" position.

There is a very clear choice on the table: Will US continue as one of the principle entities pushing for globalism, or, will we revert back to pre Bush '41 and let the globalist deal with their collapsing house of card in EU and elsewhere, while we reboot substantial industry (read: not "service" industry) in this nation.

[p.s. I am endorsing Jill Stein, per my evaluation of the entailed Karmic risks in this election. /g]

honyock 1 day ago 1 reply      
There are a lot of negative things about Trump in this post, but aren't any positive points about Hillary. It seems to me that if one were to endorse one candidate over another, they should talk about the policies of the candidate they're supporting in a positive light.

> He's erratic, abusive, and prone to fits of rage.

There are a slew of former Secret Service agents from Bill Clinton's detail who say the same exact things about Hillary. One even cites being hit in the back of the head with a Bible by Hillary.

Also, is anyone even the slightest bit concerned about the revelations in the Podesta emails? One in particular that comes to mind is a conversation about Hillary hating the 'Everyday American.'

To me, having done hours upon hours of intense research into the two major candidates, this post sounds more like a regurgitation of the narrative put forth by the mainstream media rather than a well thought out and informed point of view.

teekert 1 day ago 8 replies      
I'm not from the US but I'd vote for Trump. To me Hillary represent the imperial US, the economic Hitmen US, the could war US, the NSA US, the make sure Russia-Europe relations are poor US. She represents the elites, the Rothschilds, the banks, the family of secrets, the kill-list, the endless meddling in countries that have a lot of natural resources "for the common good". She represents Guantanamo bay, more drones and more trade agreements to sue poor countries if their companies behave poorly. She represents the lobbying culture, the Monsantos and the Bechtels.

I will be downvoted, I am already looked at as if I'm less intelligent than all the others at work. But I honestly think the 3rd world war is less likely to happen under Trump. He wants to talk normally to Putin. He represents a more US focused US imho and I am convinced the mainstream media hates him because they are in the pockets of the current rulers.

holman 1 day ago 9 replies      
I think a lot of the problems with the YC/Thiel discussion stems from the difference between how people view it: is it a political disagreement, or is it an ethical disagreement?

In a "normal" election, this would be pretty cut-and-dry: it'd primarily be a political disagreement over taxes or something, and letting someone go because of their political beliefs would be viewed by many as being pretty extreme.

Many people myself included view support for Trump today as an ethical problem. When you see him and his followers advocating misogyny, racism, xenophobia, homophobia, aggressiveness, and basically all the other -isms and -obias, it becomes much harder to "see the other side" of the debate. It's not political for many people who will see and have seen throughout this election cycle very real repercussions in terms of discrimination and hostility that affects them every day in their lives.

So yeah, there's a lot of anger with YC supporting someone in a leadership position here. I know YC keeps mentioning that Thiel is in a part time position, but he's still in an advisory position, which brings with it a lot of responsibility and ownership that we'd hope YC would be much more understanding about the impact of such a position.

I appreciate that it's a tricky situation for Sam and others to be in, but I do hope that they'd reconsider their stance in the future. Until then, on a personal level, I'm not interested in applying to Y Combinator. That's one small thing that I can do in the meantime, at least.

ChuckMcM 1 day ago 0 replies      
The way we got into a situation with Trump as a major party nominee in the first place was by not talking to people who are very different than we are. The polarization of the country into two parallel political realities is not good for any of us. We should talk to each other more, not less.

I see it differently than Sam here. My father is also a vocal Trump supporter. His path, and the path shared by his friends, appear to me to be driven not by what Trump says he will do, but by what they feel the government has not done. These people feel disenfranchised by their own government who appears unresponsive to their concerns and dismissive of their point of view. And in their world view, by reflecting their fears, Donald Trump appears to be listening to them.

When you overlay this perception of listening, and the historical divide of the role of government (Is it there to take care of you or is it there to enable you to take care of yourself?) It surfaces a lot of Trump supporters.

rtx 1 day ago 4 replies      
>unprecedented threat to America

Hillary is an unprecedented threat to the world. But I guess Americans are so cut of from the rest of the world, it's hard for them to see things from others perspective. As a citizen of third world please don't unleash Hillary on us.

ryana 1 day ago 1 reply      
So does Sam denounce the previous actions of YC banning companies who supported SOPA from demo day?

Either YC is an organization that takes political stands or it's not.

kennell 1 day ago 0 replies      
> I dont understand how 43% of the country supports Trump. But Id like to find out.

This is the attitude we need. Not the name calling and shaming. Instead, go grab a beer together, talk about the issues, agree to disagree and in 9 out of 10 cases you will usually find out the person voting for $theOtherCandidate isn't a huge asshole and probably cares about other people just as much as you do.

koolba 1 day ago 2 replies      
I am officially endorsing Donald Trump for president.

I doubt my endorsement, coming from an anonymous commenter on HN, has much weight but I'll put it out here for one reason in particular: As a message to anybody else who's feeling the same but feels that even announcing something like this will cause you to be shamed.

1123581321 1 day ago 0 replies      
Thanks for clarifying your support, Sam.

You mentioned you'd like to understand Trump supporters. Have you considered asking people in your network to confidentially contact you to explain, and then publishing the anonymized findings? With your reach, it seems like you could really help build this bridge you want to see exist, and the results would probably be interesting to read.

misterbowfinger 1 day ago 1 reply      
> I will continue to try to change [his grandmother & Thiel's] minds.

I can get behind that.

> of course, if Peter said some of the things Trump says himself, he would no longer be part of Y Combinator

sama should address the weird things Peter has said about women voting.

theduckling 1 day ago 1 reply      
>(of course, if Peter said some of the things Trump says >himself, he would no longer be part of Y Combinator).

Uh, what about the if "People acted the same way Hillary did while in office they would be in jail."

This is not hyperbole. Perjury is still a crime (one that got her husband impeached). Her lies weren't to the public, they were to the Justice Department - not knowing that the red "C" stood for classified. Furthermore, her concealment and destruction of her emails were federal crimes (plural).

Not only would this end in discharge for military personnel or removal from office of a government official, but criminal charges and restriction of civil liberties. Of the millions of federal employees, she's proven herself to be in the distinct minority as disqualified to hold a position of authority.


18 U.S. Code 2071 - Concealment, removal, or mutilation generally

(a) Whoever willfully and unlawfully conceals, removes, mutilates, obliterates, or destroys, or attempts to do so, or, with intent to do so takes and carries away any record, proceeding, map, book, paper, document, or other thing, filed or deposited with any clerk or officer of any court of the United States, or in any public office, or with any judicial or public officer of the United States, shall be fined under this title or imprisoned not more than three years, or both.

(b) Whoever, having the custody of any such record, proceeding, map, book, document, paper, or other thing, willfully and unlawfully conceals, removes, mutilates, obliterates, falsifies, or destroys the same, shall be fined under this title or imprisoned not more than three years, or both; and shall forfeit his office and be disqualified from holding any office under the United States. As used in this subsection, the term office does not include the office held by any person as a retired officer of the Armed Forces of the United States.


I feel like I'm taking crazy pills. I dont see how anyone could support Hillary, based on her actions.

potency 1 day ago 3 replies      
Could I please, pretty please with a cherry on top, have one sanctuary that isn't infested with "Vote for X, because Y is unacceptable"? It's already been done everywhere else ad nauseam.
chrisco255 1 day ago 1 reply      
The polarization in politics has gotten worse and worse. A lot of people are feeling marginalized and unheard. The echo chambers we find ourselves in make it difficult to even perceive how the other side could hold the views that they do. Yellow journalism is worse than I've ever seen. Viral social media posts that are more click bait than fact are spreading more misinformation than valuable insight. It's more than anyone can sort out. Even intelligent people are susceptible to bias and believing stories that align with their preconceived notions. What are we to do, as technologists, to alievate this problem?
jowiar 1 day ago 1 reply      

 > (of course, if Peter said some of the things Trump says himself, he would no longer be part of Y Combinator)
This is the difference, in my book, between casting a ballot and writing a big check. Casting a ballot is what you have the right to do privately, without judgement from the world. When you write a check (especially one of the 7-figure variety), and amplify the message, you bear far more responsibility than a voter.

One of the best ways to fix our broken campaign finance system would be to hold asshats like Thiel responsible for what their dollars are funding.

kyrre 1 day ago 0 replies      
endorsing hillary because of claims that Trump is "racist, sexist, homophobic, xenophobic, Islamophobic..." must be the very definition of a low-information voter. you have the knowledge of the world at your fingertips and wikileaks is giving you direct view into the inner workings of the dnc.

i don't understand how engineers that were horrified by the wage-fixing pacts of apple, google, etc. can vote for open-borders. is this the tech version of 'everyone thinks they will be rich someday'? at this rate we will end up in childless marriages with flatmates.

some serious gaslighting going on.don't let them steal your future :(

bleepbloop22 1 day ago 2 replies      
> (of course, if Peter said some of the things Trump says himself, he would no longer be part of Y Combinator).

So when he wrote that giving women the right to vote has been eroding capitalist democracy ... ?

6stringmerc 1 day ago 0 replies      
Nice statement, to the point and a reasonable call for civility. It will be nice to see if / when a return to a more 'traditional' US political discourse can gain momentum; history is repeating itself in watching a party tear itself apart. Boehner rage-quitting opened my eyes quite a bit.

As Katy Tur has frequently reported - and others as well - a significant portion of Trump supporters firmly refute easily provable facts (re: Birtherism) or outright believe lies (re: Actual Border Wall). It's unfortunate to sit back and reflect on this segment of the population, because, unlike the level-headed, rational post by Sam, such tactics are ineffective. These people are walking Poe's Law conundrums, and as nice as the intention is to include them in the big picture, that's a genuinely problematic proposition. It's why Donald Trump is such a ridiculous candidate - he's like a child, and his immaturity doesn't allow adults to have adult conversations.

Fortunately, I'm quite able to sleep easily at night knowing that the mistakes of the political and journalistic mainstays (GOP in primaries, media enabling Trump) are quickly being rectified - the cannons are melting with how much ammunition is being shot his way and hitting over and over. It's a deluge, and I don't think it's over even as of this writing. This will be a lopsided outcome due to an extremely motivated voting populace by 2XXX standards. Glenn Beck and Michael Moore voting for the same person? I, um, didn't see that coming, but hey, here we are.

What's wonderful about the US, as I learned from extensive study of both Hunter S. Thompson and Mark Twain, is that freedom of speech is great: People are free to speak their minds and show the world if there's anything inside of worth.

throwsincenotpc 1 day ago 0 replies      
As a foreigner in his 30s, no need to say that the 2016 elections feel like one of the most obnoxious US elections ever, it's worse than Bush vs Gore. The amount of dishonesty, propaganda, spin, is ridiculous. Of course the internet isn't off the hook as most websites and social networks are heavily involved into the propaganda machine. The political divisions in US is at a all time high. But the US democratic process will survive, I'm pretty sure it has seen worse in the past.

But the IT aspect is interesting. It seems that now, if you do not follow a specific political ideology, you will be automatically excluded from the american tech community as people will try to get you and ruin your career, your business and the lives of your families, prevent you from speaking at conferences, insult you on Twitter/Facebook and co because you broke the "ranks" and didn't follow the SF bay "political mindset" so you're fair game...

MichaelGG 1 day ago 0 replies      
>racist policies

Citation needed. I expect better for a top story on HN.

I'd also add that the US electing Clinton will show that corruption is now openly allowed in the US at the highest levels. That it simply doesn't matter. This sets a far more damaging precedent around the world than whatever it is people think Trump will do (like not starting a war).

mkaziz 1 day ago 1 reply      
What about Brendan Eich and Prop 8? It was acceptable to denounce him then. But supporting Thiel is okay?
dgregd 1 day ago 0 replies      
I live in central Europe. It is really sad to see so many manipulated people in the US by politics propaganda. 90% of people support Clinton/Trump because they dislike the other candidate more. That's it. Why do you offend each other? Both candidates aren't very good, so to speak.

The real problem is the current political system. I would like to see some innovation here on HN, what can be done to unleash the potential of the wisdom of crowds, also in politics, similary what open source, stackoverflow, github etc. did for software engineering.

PS. East Germany producted two awful cars: Trabant and Wartburg. But car owners were not offending owners of the other brand. Everybody knew that the socialist system was bad.


rrego 1 day ago 1 reply      
The only way I can see that someone can't understand why some people support Trump is because they have not made an attempt to understand the other side's positions. I agree with close to none of Trump's positions and abhor the man, but it is simply smug to dismiss his supporters (credit to Sam for not dismissing them as dumb).

1) Anti-Free trade. Bernie and Trump both were very popular with working class individuals who are out of work. Trade deals have definitely caused job loss for many workers. Many anti-NAFTA people blame it on causing the immigration from Mexico

2) Anti-Immigration. Job loss and racial identity are both at play here. Lack of homogeny in the country. Too much diversity etc.

3) Disgust with career politicians. They like how brash he is.

4) Lower taxes


FWIW, this is exactly the kind of post that shouldn't be on hacker news.

mikebannister 1 day ago 3 replies      
> if Peter said some of the things Trump says himself, he would no longer be part of Y Combinator

That could be scary to employees of Y Combinator... what things fall on the blacklist? To me it's obvious that you will fire someone for saying racist or sexist remarks but it's not clear exactly what I can or cannot say to avoid being fired.

markhelo 1 day ago 0 replies      
Sam's entire post has one line about Hillary and ten about Trump.

Instead of trying to demonize Trump, perhaps it is important for you to advocate for your candidate. As the president said, go work for your candidate. People are not dumb. The contrast will be clear and then people can make their own choice.

I know its hard to compare, but would you say, "Buy my product to stop the other product from being successful because the other product makes claims that are outrageous". Rightly everyone then says, "Why buy any of the products?" Or "Let me try a third product".

redsn0w422 1 day ago 0 replies      
> I dont understand how 43% of the country supports Trump. But Id like to find out, because we have to include everyone in our path forward.

I think this video by the Guardian helps to clear up why some people are Trump supporters: https://www.theguardian.com/us-news/video/2016/oct/12/west-v...

sethbannon 1 day ago 8 replies      
Bravo to Sam for the endorsement and for calling Trump out for what he is.

On the issue of Peter Thiel, for those of you that believe it's wrong to fire someone based on their political actions, is there any limit? If David Duke ran for office, or the Ku Klux Klan fielded a candidate for president, and someone gave a high profile speech endorsing them and supported their campaign with a million dollars, would it still be wrong to part ways with that person?

atmosx 1 day ago 3 replies      
As an outsider, I am having troubles understanding why the Democrats put against Trump the only candidate who had a poor enough track record to make this election "interesting". Why didn't they choose Sanders who is not as vulnerable as Hilton? By they I mean the Democrat elite.
grandalf 1 day ago 1 reply      
HRC has moved the Democratic Party to the right. This has left many poor and angry people in the dust. Many have gravitated toward Trump.

Yes, poor people are more likely to be criminals and racists but let's be real, mainstream pols have been speaking racist language in a more coded and subtle way for a long time. It has always been ugly. HRC has done it herself when it benefits her.

What irritates me about this essay and the "stop Trump" argument for HRC in general, is that it supposes that it is not necessary to hold one's chosen candidate accountable and that we should just get on board and be grateful someone is running against Trump.

I could never vote for either candidate. But Trump's stark and unthinking narrative is matched by a similarly stark and unthinking anti-Trump narrative.

chubot 1 day ago 0 replies      
I'm glad he addressed this... I'm also a big Peter Thiel fan, but struggling to understand how he can possibly support Trump. I think there is an important distinction between "contrarian and right" and "contrarian and wrong", which supporting Trump doesn't seem to acknowledge.

And I wondered what Thiel's peers thought of his support, so this clarified it a bit for me.

But I also agree that the anti-Trump crowd should recognize that people in this country are angry, and Trump says what they want to say. Trump's not the solution but he's calling out the problems in a way that resonates with people.

(Of course, even if he had the right solutions, to me it seems clear he wouldn't be able to execute... but that's a political argument.)

buro9 1 day ago 2 replies      
There's another issues, both parties are courting the more extreme views within their parties.

That is, the Democrats are looking further left/liberal, and the Republicans are looking more right/conservative.

Neither is looking after the centre, they only seek to appease the more vocal within their ranks... the extremists.

Typically when the pendulum swings things average out, but politicians have learned over the past several decades that if they want to gain 10 miles of political position they should negotiate for 100 miles from the outset and beat the other party into submission before settling on 20 miles (everyone's a winner).

The entire system seems to promote seeking an extreme position even if such a position isn't desired by anyone.

tptacek 1 day ago 0 replies      
I'm heartened to hear that Thiel's support for Trump --- which is ongoing and extensive --- has been a strain on Altman's relationship with him.

Thiel is not merely one of the 43% of Americans who supports Donald Trump. There are degrees of support, and there are different reasons to support him. Thiel has chosen to serve as a surrogate for the Trump campaign, appearing on stage for him at the RNC in a nationally televised event even as many of the leaders of the Republican party (including all of their previous Presidential candidates) refused to do the same. His support for Trump has continued even after Trump pivoted his election to run against the legitimacy of the US elections themselves.

I strongly agree that we must avoid ostracizing Republicans because of the actions of a few monsters in their party. We should continue the work HRC and Obama started earlier in this election, to de-normalize Trump and separate him from the mainstream Republican party. The country needs a loyal opposition and a voice for limited government, the strengths of our private sector, and humility in regulation. HRC and Obama have stopped this work, believing that the outcome of the election is a foregone conclusion, and are now trying their best to tether the party to Trump in an effort to win downticket races. As a loyal, lifelong Democrat, I think they're making a terrible mistake.

But that does not mean we should forget that the Trump campaign itself is truly monstrous, nor does it mean we're required to tolerate the least tolerant members of our society --- the white nationalist fringe that, according to Sam Wang at Princeton, has been within striking range of the Presidency for much of this election cycle.

Thiel isn't just a supporter of this campaign; he's a part of it. We should recognize that, and not gloss over it, or pretend that the discussion we're having is the same as the kind we'd have with John Fund and Jonah Goldberg at The National Review. Thiel isn't William F. Buckley. He's a man that just last week mustered $1.25MM in an attempt to rend the fabric of the American political system, a system which he has repeatedly argued against.

I don't ask that Altman sever formal ties with Peter Thiel. Shit's complicated. But as someone who has, yet again, acknowledged in writing the grave threat Trump poses to our country, I do ask that he live up to his own words and recognize publicly the role Thiel has played in this election.

This post was a good start.

mrschwabe 1 day ago 1 reply      
Does Sam also endorse the DNC 'consultants' who are paid to incite violence at Trump rallies?


refurb 1 day ago 0 replies      
I'm sure I'll be labelled a cynic, but I'm pretty sure if Thiel didn't make a shit ton of money and is likely to make more money in the future, YC would have dumped him over politics a long time ago.
err4nt 1 day ago 0 replies      
If you were to dissociate with Thiel over his political views it would lead to LESS diversity at Y Combinator!
chamakits 1 day ago 0 replies      
There is definitely a core of this message that I agree with, but another part that when I think about it makes me disagree somewhat with it.

I understand that a good chunk of the country supports Donald Trump. I also don't understand why, and I would also like to understand why.

However, there are too many parallels between what Donald Trump publicly supports with things of the past that I cannot ignore. An example that some may believe to be an exaggeration but I think is a close parallel. Segregation. There was a time in which a person running for office would be in full public support of segregation. I did not live through those times. But I imagine that those that privately frowned upon those views regret not publicly distancing themselves from those that did support that view.

Let's take that example into today. Where is the line that we draw when we talk about political opinion vs moral opinion? If Donald Trump was a public defender of segregation, would you then make an effort to publicly distance yourself from his associates? If so, what's the difference between segregation and xenophobia? Is the difference that many had to loose their lives and sacrifice their well being for years for us as a country to realize what an awful mistake we made?

I'm not asking rhetorically. I'd like to understand where the line is drawn, because frankly I don't see this as a political difference but a moral one that I'd like to understand, but not to excuse it.

sangd 1 day ago 0 replies      
> if Peter said some of the things Trump says himself, he would no longer be part of Y Combinator.

I find this logic is similar to the logic some GOPs use to support Donald Trump. Even though they condemned him for saying lewd/racist comments (or even committed to), they still give him the support. I don't know how you would continue dodging this for Peter when Donald Trump is being sued for actually committing to a criminal offense. YC needs to draw a line instead of playing this blurred line.

gotchange 1 day ago 0 replies      
Is really Thiel just a mere supporter as Sam put it or more of a partner in crime?

He's clearly investing in his vision for your country to turn them into reality, and therefore should be dealt with accordingly and not just dismissed as just some politically uninformed and misguided guy on the street who happened to espouse dangerous and vile political views but he'll grow out of it in due time.

the_watcher 1 day ago 0 replies      
> The only two vocal Trump supporters I am close to are Peter Thiel and my grandma.

Ignoring the Thiel stuff in this particular comment to focus on the grandma part. If you read this, sama, is her support based on anything more than him being the Republican nominee? I ask because my grandparents (from a very rural upbringing, and lifelong Republicans) are also the only Trump supporters I'm close to. It's been illuminating to me, as they vehemently opposed him in the primaries, and his policy positions (if you can call them that) are at odds with everything they've ever discussed believing in. Their justification seems to be based on a simple assumption that once he's elected, he'll just become a generic Republican, and that everything he says during the election is irrelevant bluster. It honestly has made me question if they'd vote for Hillary had she run as the Republican nominee.

ttcards 1 day ago 1 reply      
Meta notes on the comments so far

1. YC banning companies that supported SOPA was a mistake. I'm sure they now acknowledge that.

2. Mr Thiel donating $1M does not mean he believes or endorses in everything Trump stands for or says. I don't happen to agree he should have made the donation, but please use common sense.

3. Mr Altman used his personal blog not the YC blog. This is important. But the line is blurred between this being a personal statement or a statement on behalf of a corporation (YC).

4. Nobody should be persecuted or fired a political belief that a large part of a country endorses. This point is clearly stated and easily defended. Those attacking it should have a deep think about representative democracy - both the good parts and bad. Representative democracy is a decent, practical system but it is not perfect and America's flavor of it could do with a lot of refinement. This election cycle should make that pretty clear to the average HN reader.

ad80 1 day ago 0 replies      
What is really bad here is that we have to vote against a very bad candidate, not for a good one. Hilary needs to commit to certain priorities for all those groups that decided to vote for her - potentially compromising what she has promised so far - simply voting against Trump. Otherwise voting for her is a lost vote...
jsolomon 1 day ago 0 replies      
> The way we got into a situation with Trump as a major party nominee in the first place was by not talking to people who are very different than we are. The polarization of the country into two parallel political realities is not good for any of us. We should talk to each other more, not less.

This really resonated. It's hard to overestimate how isolated we are from The Outgroup and how rarely we actually do anything about it.

If anyone is genuinely interested in talking to someone who is very different than themselves, I'm volunteering to play recruiter/matchmaker and coordinate some (hopefully) interesting conversations. I started a Ask HN thread to discuss so please let me know: https://news.ycombinator.com/edit?id=12729057

plandis 1 day ago 0 replies      
I think this whole thread should be purged there is nothing substantive here. Just a bunch of people espousing opinions that approximately half of people disagree with (me included).

I personally have gained nothing out of reading all of this and I suspect that this is the case for the majority of people here.

gragas 1 day ago 1 reply      
This has no place on HN.
plg 1 day ago 3 replies      
If I had an employee whose job description involved hiring (or providing advice about hiring) a high-level addition to our company, and said employee advised that we should hire an individual who is widely known to be:

- racist

- erratic, abusive, and prone to fits of rage

- a real threat to the safety of women, minorities, and immigrants

- shows little respect for the Constitution, the Republic, or for human decency

I would conclude that my employee has bad judgement. Very bad judgement. I would fire said employee immediately. I would also likely shun said employee on a personal level.

I don't think people get a pass on this one just because this decision is being made in the context of politics.

imglorp 1 day ago 0 replies      
The problem I have with this campaign is that _both_ candidates present a legitimate threat to the republic, in different ways. Sam is of course correct, but a similar argument can be made for Hillary.

Is there still time for a do-over?

orthoganol 1 day ago 0 replies      
Is it really that they support Trump or are just anti-Hillary? From this post, you are not really pro-Hillary, you are just anti-Trump, so consider that it goes the other way too.
binarray2000 1 day ago 0 replies      
Funny how two attendees of the 2016 Bilderberger meeting and partners in YC - Altman and Thiel - support opposing candidates - Clinton and Trump. USofA never ceases to amaze me.
EdSharkey 1 day ago 0 replies      
I'm an American voter and I'm not voting for either creature. I did my civic duty in the primaries by not voting for either. For the election, I'll just write-in someone I prefer and sit this circus out.

I have to assume that there were a LOT of uninformed voters that had their anger whipped up by Trump. I suspect there was a lot of cross-over voting in open primary states.

Perhaps we've made it too convenient to register to vote, and the misinformed/lazy have stolen the show.

peter_retief 1 day ago 0 replies      
I have never really liked Donald Trump, he is an abrasive egocentric character and I quite like Hillary she being an attractive intelligent woman. Now I am not so sure, I find Hillary smug and untrustworthy and am finding Trump refreshing honest, if a little over-exited at times. its important to respect diverse views even if they fly contrary to your deeply held beliefs. Its not easy but if there is an open debate. thats probably a good thing
genericpseudo 1 day ago 0 replies      
> of course, if Peter said some of the things Trump says himself, he would no longer be part of Y Combinator

He said them $1.25m times. Cut ties or lose deal-flow. It's on you.

jackfrodo 1 day ago 1 reply      

 > That kind of diversity is painful and unpopular, but > it is critical to health of a democratic and pluralistic > society. 
Is it? How does having someone who endorses xenophobia, sexism, etc, as one of the most visible members of your organization achieve these goals? If we tolerate this kind of thinking, how many opportunities are we losing out on because of people who couldn't get past the barriers it sets up?

spdustin 1 day ago 0 replies      
I've said this in another thread (https://news.ycombinator.com/item?id=12728761) but in case that submission gets flagged off the page again, I'll include it here:

From The Education of a Libertarian [0]


"I believe that politics is way too intense. Thats why Im a libertarian. Politics gets people angry, destroys relationships, and polarizes peoples vision: the world is us versus them; good people versus the other. Politics is about interfering with other peoples lives without their consent. Thats probably why, in the past, libertarians have made little progress in the political sphere. Thus, I advocate focusing energy elsewhere, onto peaceful projects that some consider utopian." - Peter Thiel [0]

[0]: https://www.cato-unbound.org/2009/04/13/peter-thiel/educatio...


Leaving aside all the drama surrounding YC and Peter Thiel, this is where it all breaks down for me. How am I supposed to take Thiel at his word today, when less than a decade ago he was convinced that politics is "too intense" because it angers people, divides them into us-vs-them groups, and tears them apart.

Is it simply that he's changed who he is in that time? I mean, that's a legitimate reason, and one I could respect even if it means I don't agree with who he is today. I'd want to know what changed his mind.

Or are there different Peter Thiel personas? I can understand this, too. As Hillary Clinton pointed out, Abraham Lincoln believed that politicians have a private and a public persona, because most of the electorate would shudder to see how our tasty, democratic sausage was being made.

Or is he a capricious man who doesn't stick to his principals when motivated by financial or political need? That would be disappointing, but the cynic in me says it wouldn't be surprising.

Without knowing who he truly is, and why there is such a divide between just 7 years ago (still fully within his adult life) and now, his whole persona just doesn't compute with me and I'm left with the inescapable conclusion that he's too chaotic to trust.

Does anyone have any insight?

koliber 1 day ago 0 replies      
This Reddit post really opened up my eyes to why people support Trump:


jubalfh 1 day ago 0 replies      
> This submission has received a huge number of user flags. We've overridden flags and other software penalties for several of these stories already for being related to YC, but our primary duty is to the community and we have to let it protect itself from being ripped apart by politics.

Surely, you jest.

kposehn 1 day ago 0 replies      
Sam, thanks for ending this on the most important note (imho): understanding.

Not understanding each other is how we got into this mess.

teekert 1 day ago 1 reply      
Btw, how can this 383 (currently) points article, posted 1 hour ago be below a 34 point article of 16 hours ago. This feels like a multi-hour front-page article to me...

Edit: Ah flags, just reading about what they are. We have to be protected from ourselves then.

jimjimjim 1 day ago 1 reply      
Remember before commenting: please do not to think in absolutes. us or them. with me or against me. true believer vs burn the heretics.

it's a descent into tribal warfare where reason and logic give way to misunderstanding and escalation of perceived wrongs.

mc32 1 day ago 7 replies      
Why would Sam not go for a third party who was less problematic? There are third party candidates available. Is it because they are unlikely to be elected? If so, this thinking keeps on trapping us into voting for the least bad of the bad.
chx 1 day ago 0 replies      
The answer was written months ago: https://twitter.com/leyawn/status/747424519887925249
MicroBerto 1 day ago 0 replies      
Sam, do you have any comment on this video?


Tycho 1 day ago 0 replies      
I'd never heard the phrase "crazy pills" before but I've read it three times in this one topic, from three different posters. Hmmm.
nolepointer 1 day ago 1 reply      
And I, an everyday young American, will still be voting for Trump.
soccerdave 1 day ago 0 replies      
> I dont understand how 43% of the country supports Trump. But Id like to find out

So, have you not sat down with Thiel and asked him why he supports Trump? If so, what were his reasons.

hmate9 1 day ago 0 replies      
By the way it seems like both presidential candidates' main selling point is is that they are not the other candidate. Really not how things should be.
menacingly 1 day ago 0 replies      
It seems like the list of things for which people want you to lose your job or business has experienced rampant growth
Koshkin 1 day ago 0 replies      
> I dont understand how 43% of the country supports Trump.

Didn't Clinton "explain" that a few weeks back?

mankash666 1 day ago 1 reply      
Castigating/firing people for their opinions is illegal under the constitution. Even if Thiel said the things Trump did, it's his right to free speech, and YC, as an employer, cannot fire him on any constitutional ground.

Disclaimer - before HN goes on a witch hunt, I do find Trump repugnant. But I'll defend his constitutional right to say it.

bjornlouser 1 day ago 0 replies      
Would YC keep Thiel if Trump were running as an independent polling at 10%?
pastProlog 1 day ago 0 replies      
> I don't understand how 43% of the country supports Trump.

I don't understand how 43+% of the country supports Hillary. A lot of what Trump says makes sense to me - questioning why the US military is involved all over the world, questioning TPP etc. Hillary is more militaristic, historically more pro-TPP etc.

It seems more sensible to get tough on people illegally crossing our border than to get tough secretly bombing Syria as she suggests in Wikileaks e-mails. She's picking a fight, he is not.

Also, 43% of people don't fully support Trump. Some see him as the lesser of two evils. They may not like aspects of his personality or policies, but they prefer it to the alternative. The congress that will be elected will more accurately reflect how Americans think, with Trump and Clinton the choice is binary.

I don't support Trump, mainly because I think he would increase tensions between Latinos and non-Latinos in the US. However I also don't like Hillary's desire for military adventurism, how she leaned towards TPP etc. before polls quieted that down etc.

Trump is not the creation of yahoos from rural Indiana. He is the creation of the museum and concert hall sponsoring Koch brothers, whether their calculations include funding him or not. He is the creation of one of our media oligopolies, News Corp. He's the creation of neutered government regulators which allow scams like Trump University to exist.

Rural white workers voted for FDR, Truman, LBJ, Carter and Clinton. They haven't changed, it's the Democratic party which changed. Soros and company have destroyed the decentralized, grassroots Democratic machine and replaced it by a centralized, technocratic, machine learning targeting party focused on fundraising, not voters, and the interests of wealthy and upper middle class urban liberals.

From 1932 to 1996, West Virginia was a fairly reliable voter for the Democrats. Overwhelmingly white, poor and working class and rural. The Democratic leadership started writing them off, and the Republicans courted them, and now they vote Republican. Why do you think Trump and Pence drop mentions of supporting coal?

xname2 1 day ago 1 reply      
One thing the author seems do not understand is that people could be non-racist but also refuse their own country be occupied by more and more illegal immigrants and people of different religion. They do not hate those people, but they just do not want this country to be taken over by a group of people very different from themselves. Is this OK to the author?
marcoperaza 1 day ago 0 replies      
The image I like to remember is the victorious Ulysses S. Grant telling the defeated Robert E. Lee and his officers to keep their horses, keep their sidearms, and go home to their families, but not before being fed from Union rations.

Lee returned to his men and said: "Go and be as good a citizen as you were soldiers".

And Grant went to his: "Stop the firing. The Rebels are our countrymen again."

Lincoln later remarked: To be harsh or spiteful, or punish them, or throw (the Union's) win in their face, was not going to do anybody any good.

If these great men could so magnanimous after a vicious and bloody war, what does it say about us that we are so spiteful and triumphalist in the course of ordinary politics.

ajamesm 1 day ago 0 replies      
I'm happy to take 'yes' for an answer.

On some glorious day, notorious vampire Peter Thiel will be hoisted by his own petard, find himself stranded in the sunlight, and turn into a column of ash.

In the meantime, this was an appropriate stance to take.

zxcvvcxz 1 day ago 1 reply      
I am voting for Donald Trump.

I have weighed the issues in reference to the interests of myself, my family, my community, and my country. As an independent, I kept seeing the same pattern: people on the right are open to discussing issues, people on the left want to alienate me and act hostile and throw around pejoratives without providing substantive evidence. That's honestly enough for me.

But here's the real kicker - it is going to take an outsider to deal with corruption. This was the tipping point for me: https://i.sli.mg/jozAB1.jpg

grandalf 1 day ago 0 replies      
Sam, could you add a paragraph or two with critiques of HRC that you acknowledge but which don't change your voting rationale?
zxcvvcxz 1 day ago 0 replies      
> I dont understand how 43% of the country supports Trump.

Then you're really not gonna understand how he will win by a large margin.

Here are the facts: people don't want to vote for Hillary. Trump supporters are extremely passionate. Consider the following online metrics:

Facebook likes:Trump: 12.17MClinton: 4.39M

Recent Live Stream Videos (Oct 14):Trump: 135K likes, 18K shares, 1.5M viewsClinton: 9K likes, <1K shares, 121K views

Average Views Per Live Stream:Trump: 160K Clinton: 400(5000% more views for Trump)

Instagram Followers:Trump: 6.2MClinton: 0.8M

Reddit Subscribers (to their main subreddits):Trump: 230KClinton: 21K

"Do you plan on voting Hillary Clinton for President in 2016" 84% NOSource: MSNBC (http://www.msnbc.com/msnbc/poll-hillary-2016)

EVEN WITH Clinton's "Correct The Record" online (and PAID) team of internet jokeys, she can't come close to competing with the passion of Trump supporters online. The key point: you cannot honestly believe that this disparity will not correlate with the popular vote. If you do, you're in denial and your candidate will probably lose. "Oh it's just online raids" - do you not think these people will be passionate enough to vote, but waste hours of their time for free discussing and liking the other candidate?

One final comment:

> I am endorsing Hillary Clinton for president.

You mean the one that wanted to drone strike Julian Assange?


Trump's said mean things, has different policies than typical liberals, and has had a ton of personal accusations conveniently come up 3 weeks before the presidential election -- after over 30 years in the public eye.

Given how corrupt the democrats are and how they treated Bernie Sanders, how can one trust Clinton and the Dems at all? Many people think Bernie was cheated out of the nomination. And there are more than emails, some interesting studies, to show this as a strong possibility as well:


bobsgame 1 day ago 1 reply      
I respect Sam's opinion, but I would like to hear any of his ideas for improving the economy in suburban and rural areas or creating greater opportunities for people who are less privileged or gifted.

Much of intelligence is a natural ability gifted at birth, and it's often easy to lose touch with that when you are surrounded by highly skilled and intelligent peers, as many in Silicon Valley or cities often are.

As an example, if you are an unskilled laborer looking for work, which is a large portion of the population, it may be directly applicable and not necessarily racism or xenophobia to be upset if illegal immigrants do indeed take those jobs. I have not been in that situation nor seen it directly, but I can envision scenarios in which it might be a valid frustration. If you wish to understand that 43%, you might not immediately dismiss the views that resonate with them as racist or threatening, and try to understand why they are agreeing with those ideas.

Many of those people also likely do not use computers or have effective typing or competitive communication skills, and may be very frustrated by their inability to voice their complaints in intellectually competitive online communities. I think it's possible that Trump has employed many manual laborers or "blue collar workers" in the construction of his properties and he may been been exposed to certain types of complaints which are uncommon in other corporate environments, which he is now championing to address. Given these circumstances, I can understand how to a large group of people Trump would not appear as a monster or dangerous, but rather as a legitimate hero.

Likewise, I believe Trump should do a better job of addressing how those policies might affect immigration as it applies to tech companies, and I can completely understand the emotional reactions to his policies from the tech industry.

ocdtrekkie 1 day ago 0 replies      
"The way we got into a situation with Trump as a major party nominee in the first place was by not talking to people who are very different than we are."

There's a ton of value in this sentence, because I find especially amongst the tech crowd, people are so isolated in the echo chambers created by their local populations, their choice of friends on social media, etc. We seek out likeminded people, and eventually, once we surround ourselves with them, suddenly other views, even popular views, seem crazy and radical. But they do come from somewhere, and generally those people have legitimate reasons for feeling the way they do.

rdiddly 1 day ago 2 replies      

(not because Trump but because the Thiel NY Times story was so mercilessly flagged)

sidcool 1 day ago 0 replies      
This is what leaders do. Great one, Sam
sidcool 1 day ago 0 replies      
Much needed clarification, Sam. You have said it like it is. Trump is dangerous.
Introducing Rust Language Server rust-lang.org
372 points by JoshTriplett  17 hours ago   88 comments top 9
hetman 15 hours ago 4 replies      
I think the most astonishing thing to me about the Rust language project is not the language it self (sure it's innovative but there's also still a lot of work to be done to make it get out of your way). It's the speed and tenacity with which the project has managed to push development of the supporting tooling. The development tools surrounding a language can often be more important for productivity than the language itself, and it feels like the Rust team and community really get that.
favorited 15 hours ago 5 replies      
For anyone interested in similar tools, Microsoft recently published a protocol[1] for this type of service, and an implementation[2] of it for VSCode+NodeJS.

Swift also has a library[3] called SourceKit which does the same thing for Swift it can run as an out-of-process daemon, and people have written integrations for Atom, Emacs, etc. to get autocomplete, syntax highlighting, def links, etc.


beliu 13 hours ago 0 replies      
This is awesome. The best languages are the ones with strong tools.

Side note: really looking forward to rolling this into Rust support for Sourcegraph (Sourcegraph team member here) to make any Rust library as easy to explore as https://sourcegraph.com/github.com/gorilla/websocket/-/blob/... and https://sourcegraph.com/github.com/staltz/xstream@master/-/b... are for Go and TypeScript. Thanks for making and open-sourcing this!

JoshTriplett 15 hours ago 0 replies      
I saw the demo of this at RustConf, and it was incredible. See the video linked from the post: https://www.youtube.com/watch?time_continue=2405&v=pTQxHIzGq...

I look forward to seeing support for this integrated with vim.

k4rtik 2 hours ago 0 replies      
I recently learned how modern IDE's provide the kind of features Rust LS is targeting. For anyone else interested, here is a great video explaining the same: https://channel9.msdn.com/Blogs/Seth-Juarez/Anders-Hejlsberg...
joostdevries 12 hours ago 0 replies      
Compilers that have a language service api are awesome. The Typescript compiler does and it makes for high quality low latency refactoring, code completion, show expression type etc across ediors and IDEs.Since my other day to day language is Scala I was glad to find out that the upcoming Dotty Scala compiler will also feature a language service api. Yay.
haberman 13 hours ago 1 reply      
I've wanted this for a long time. But I don't see why it has to be language-specific. Maybe some of the fancy parts do, but why can't make/cmake/ninja/etc. support this in a language independent way? Just basic queries/commands like:

 1. run any build steps that directly depend on file X 2. run any build steps that directly or indirectly depend on file X 3. get whether the build of X succeeded or failed, and console output
These alone would go so far towards making Vim/Emacs/etc more user-friendly.

avodonosov 11 hours ago 0 replies      
Is it something like swank for common lisp?
denfromufa 13 hours ago 1 reply      
This most likely originated from TypeScript, which actually went further with compiler and code analysis integrated
WTF is a container? techcrunch.com
360 points by kawera  2 days ago   247 comments top 27
Azeralthefallen 2 days ago 13 replies      
I remember going to AWS Reinvent last year and having some beers with a bunch of people who did devops. We started talking about tools, and they were utterly flabbergasted, that we had not embraced docker. They went on an on about how simple docker made HA, and handling fail overs/maintenance. More or less made it seem like it was the greatest thing since sliced bread.

Me and a few coworkers decided to try and dockerize some of our serivces, and move our staging ES cluster to docker.

For the most part building our own containers was easy enough, for the various services. The biggest issue we had was with Elasticsearch, since we have 4 types of nodes. So we ended up building 4 specialized containers for each node type.

Then came the issues:

* Making containers work together, for example we use a logging agent, we decided to make that its own container. Then actually getting a way to share a log directory with the agent, was very painful and unclear. (Honestly the single most frustrating thing i recall was asking for advice in irc and more or less being told i am doing it wrong)

* Containers would randomly crash under load exiting with error 137 out of memory. Apparently a few of our services would randomly leak memory, but only when running inside a docker container vs ubuntu 14.04. (I never figured this out)

* Containers would randomly become unreachable, forcing me to kill them and restart them.

* Random hanging issues, suddenly docker exec is hanging. Being told to revert to an older version, or install a newer version is tiring and makes my environment very inconsistent.

* Trying to debug why our app in the container isn't working is not fun at all.

However the single part that killed me was, i was chatting with one of the people who i met at Reinvent, and i mentioned my issues. He acted like it was completely normal for these kinds of issues.

After a solid 2 weeks of random issues and the constant barrage of pagerduty alerts, i just rolled everything back to static EC2 instances for staging, and have ran into 0 issues. I want to try containers again because i want them to work, but i have just had too many issues.

dancek 2 days ago 12 replies      
I agree that containers (both for shipping and servers) are a great idea. And because I'm tired of always configuring servers, I decided to give it a try some time ago.

I wrapped my IRC client (weechat + glowing-bear) in a Docker container. Oh, not a container though, because I also needed https, which meant I needed either a mechanism to build and update letsencrypt certs in the weird format that weechat expects, or to run an nginx instance in the front (and also somehow get the certs, but that's easier with nginx). So two containers.

And even though there was a ready-made nginx+letsencrypt https reverse proxy container (actually several), I had a huge amount of headaches to get it actually working. Even with the system set up, I occasionally have the container crash with exit status 137 (IIRC), which I've assumed might be because weechat leaks/consumes memory and eventually the host server kernel kills the process. Maybe.

So in my limited experience, comparing Docker containers to shipping containers is a gross simplification. Shipping containers are simple constructions requiring well-defined simple maintenance, while Docker containers seem to be complex thingamabobs that have multiple points of failure.

Hondor 2 days ago 7 replies      
I never quite understood containers and this article makes them seem kind of similar to what OSs already do.

How is a container different from just installing all the dependencies along with an application? Coming from a Windows background, this is pretty common to avoid DLL hell. Nobody distributes a Windows application that requires the user to go and install some 3rd party library before it'll work.

Isolation from each other seemed like one advantage, but that's not even security strength isolation so you can't count on it to protect the host OS from malware in a container.

A claim I often see, and that's repeated here, is that containers can run anywhere. But can they really run in any more places than an ordinary application with dependencies included, or even statically compiled into it? You still need Linux and the same CPU architecture, right?

disposablezero 2 days ago 1 reply      
Weak virtualization often lacking security, resource metering/prioritizing/quotas. Hurray, zombie Docker instances needs a whole VM reboot yet again, still not fixed in several years. But look how fast I can deploy millions of containers without SELinux, monitoring, HIDS, SDN, billing, live migration, backup/restore/DR/data lifecycling and all the other things we just pretend to ignore when throwing away sensible production VMs on Type 1 hypervisors devopsec.
BjoernKW 2 days ago 3 replies      
Containers are often touted is this novel concept that's bound to revolutionise software development and software delivery in particular.

The general idea isn't all that new however. Java Applications have been delivered as containers since 1995 (although the concept isn't explicitly named that way with Java applications).

Each JAR / WAR is a self-contained application that can run anywhere where there's a JVM (which is pretty much everywhere).

From a feature perspective the only real innovation of Docker-style containers probably is that those aren't limited to the JVM but are (largely) language- and runtime-agnostic.

sytelus 2 days ago 0 replies      
These hand-wavy explanations that constantly avoids explaining how things work at low level are not adequate.

Here's short explanation for developers even with moderate understanding of how OSes work:


gtrubetskoy 2 days ago 1 reply      
It's amazing how slow the development community en masse has been in "discovering" containers. I remember I worked for web hosting company that offered containers as a web hosting solution back in 1999, I then ran my own little host offering FreeBSD jails and then Linux containers (based on the excellent Linux-VServer project) in 2003, and I do remember how when I tried to explain to (pretty technical) people how this is way more efficient than stuff like Xen they'd go "but it's a hypervisor..." (as if that meant "magic"). I eventually gave up on it and sold my little hosting operation because it was too much work and not enough money, it looks like it was about 10 years ahead of it's time.
jdoliner 2 days ago 0 replies      
This is a pretty good analogy for containers but there's an unfortunate conflation of terms. There's actually a distinction with computing containers between the thing that you ship code around as and the thing that you run code in. The latter is the real container while the prior is called a "container image" or often simply an "image." This gets confusing quick if you apply this analogy since you assume that the thing you ship the code as would naturally be called the container.
fenomas 2 days ago 2 replies      
I'm only a beginner, but the analogy that makes sense to me is that containers do for app deployment what npm does for Javascript development. That is, the magical part isn't that Docker simulates an operating system and so on - the magic is that it allows a chunk of logic to precisely declare its dependencies - including on other pieces of logic which declare their own dependencies - and then Docker knows how to (in theory anyway) run the logic in such a way that its dependencies are all satisfied.

And of course the meta-magic is then that there's a public registry of (in theory) solved problems, which one can build on top of by declaring dependencies against them.

I have a pet theory that this "declared dependencies + dependency wrangler + public registry" is a general formula which will keep cropping up as we find new places to apply it.

parito 2 days ago 4 replies      
for the love of god - forget docker, use lxc containers - its simple, secure, goes with its own init, cron, and you dont need to do somersaults to achieve simple tasks. Included with linux kernel. Your own isolated linux system. We use lxc in production for over three years, and we have over 3000 of them. No issues whatsoever.
ChoHag 2 days ago 0 replies      
Take an operating system. Remove all the advantages of a shared environment like dynamic libraries, package management, clarity. Stick a chroot before every fork. Boom! Containers.
lottin 2 days ago 4 replies      
I guess I'll never get it. Don't most OSs already run processes isolated from each other, have advanced process scheduling mechanisms and manage access to hardware resources? Also with static linking nothing stops you from creating huge binaries that "will run anywhere".
alauda 6 hours ago 0 replies      
Guys, you really want to give a look to hyper.sh, if you are frustrated with running containers in production.
bbcbasic 2 days ago 2 replies      
I've read before on HN about 'don't use docker in production' can anyone elaborate on that for a newbie?
sztwiorok 2 days ago 1 reply      
Docker is the best thing since sliced bread! VM is much more resource and time consuming.

# We switched our dev/stage env to containers 2 year ago.

# We have made our own standalone app in Docker style. Once again - Easy as pie.

if you are a developer you should add Docker + Docker Compose to you working tools.

novaleaf 1 day ago 0 replies      
> The way virtual machines work, however, is by packaging the operating system and code together. The operating systems on the virtual machines believes that it has a server to its own, but in reality, its sharing the server with a bunch of other virtual machines all of which run their own operating systems and dont know of each other. Underneath it all is the host operating system that makes all of these guests believe they are the most important thing in the world. You can see why this is a problem. The guest virtual machines basically run on emulated servers, and that creates a lot of overhead and slows things down (but in return, you could run lots of different operating systems on the same server, too).

Wait a second. Isn't this the whole point of hardware virtualization support? So that hypervisors don't have all those VM overhead slowing things down?

AJRF 2 days ago 0 replies      
On VM's:"Underneath it all is the host operating system that makes all of these guests believe they are the most important thing in the world. You can see why this is a problem."

Two paragraphs later (On containers):

"The only operating system on the server is that one host operating system and the containers talk directly to it."

ilaksh 2 days ago 0 replies      
The reason people don't get the advantage of Docker is because there is a weird (and in my opinion stupid) tabboo against putting all of your deps in one container. This is about 10-100X easier than trying to compose a bunch of containers.

Not everyone can do that, but plenty of people could. Except they don't not because of some actual ops requirement (in many cases) but because they don't want someone to say they did it wrong.

I am assuming this situation has actually changed now I hope and swarm/compose or whatever is built in is not too hard to use?

chewxy 2 days ago 1 reply      
This is not quite related to Docker/Kubernetes, but a phrase in the article triggered memories about a very good book that I think everyone should read - The Box by Marc Levinson. It really is a fascinating book.
dkarapetyan 2 days ago 1 reply      
> The promise behind software containers is essentially the same. Instead of shipping around a full operating system and your software (and maybe the software that your software depends on), you simply pack your code and its dependencies into a container that can then run anywhere and because they are usually pretty small, you can pack lots of containers onto a single computer.

Already got it wrong. Current containers are exactly the OS and the kitchen sink for running 'printf("hello world")'.

bsenftner 2 days ago 0 replies      
Plain and simple: containers violate the KISS principal. While you are developing reams of domain knowledge working with this turd of a technology, others are making progress with non-self-created problems that matter in the real world. This is another case of the tech world developing pointless tech that can be ignored by those solving concrete real world problems.
simula67 2 days ago 2 replies      
Putting a little bit more thought into naming things can help newcomers understand these concepts more easily. The word container is too generic, why not call it an 'application jail' or a 'virtual operating system' ?

Another word that is over used in our field is 'context'.

VLM 2 days ago 0 replies      
The analogy in the article is inferior.

Here comes the standard HN automobile analogy.

The car makers eternally release little light weight cars that are fattened up with cruft until they're as heavy and expensive and complicated as the dinosaurs they were originally meant to replace. At which time car makers birth a new little stripped down lightweight simple compact car line. That design pattern is self similar and fractal in that even car engines and transmissions and car radios undergo a similar pattern of revolution to make something new, then evolution to slowly and methodically make it the opposite of the original goal, repeat forever. This design pattern also applies to computer architecture.

To fight the problem of hardware evolution making life pretty hard on programmers, source code compatible OS and libraries were invented that could run the same software on vaguely similar hardware, on mainframes in the late 60s at IBM and on PCs in the 70s CPM era, later extended into the "home computer" series era in the 80s, then into the msdos era. This became unwieldy and too complicated for the end users so it was replaced.

The same people implemented the idea of OS packages, again more or less in the 60s on IBM mainframes or the 80s on early unix boxes. The idea is to compile emacs to be integrated very deeply into the OS and cooperate with every other piece of software. This is contemporary. However especially in NON-FOSS it doesn't work and doesn't scale and is very expensive if not impossible to implement, being the only closed thing on an open system is a nightmare for everyone and everything involved. The stereotype in the 90s was only one service installed on one MS windows server, even if that meant it took 20 MS servers to do the job of one unix server. Anyway, expensive, complicated, hard for end users.

Again the same people implemented the idea of OS virtualization. Again, IBM mainframes in the 70s with VM, and early PC hardware experiments with TSRs and multiprocessing in the 80s to give "two computers at once". This is also contemporary, enormously more advanced today, of course. It turns out that running 50 OS kernels on a single piece of hardware is kinda wasteful although possible and cooperation gets complicated and unwieldy so time to replace again.

Again the same people implemented process jails / chroot on the BSDs and eventually after some decades linux finally caught up resulting in docker. So now your packages don't cooperate or interoperate at all with each other or the OS, which solves all the problems where the previous technology didn't work, and creates massive new problems that never existed mostly where the old technologies worked great. There are of course completely separate new problems. It turns out that a system designed to eliminate interoperability between packages interoperability a huge PITA and there are other problems that make use unwieldy and complicated, hard for end users.

Again the same people implemented (this section to be written after 2016). Maybe IOT. Maybe collapse of hardware prices faster than business demand means 20 rasp-pi cluster is cheaper and easier to maintain than a single beefy desktop running 20 virtual images or 20 docker containers. Maybe FPGA on the desktop means people will just synth up whatever matches this hours workload. Maybe cloud will finally work and no one will maintain servers anymore, it'll all be magic, or at least push the magic to someone else who now has the same old problems. Maybe SaaS means we'll all be customers and most productive software will run on internet scale clusters not individual machines, individual machines will be dumb webbrowser terminals. Who knows!

realworldview 1 day ago 0 replies      
IBM and Sun know.
mmatoscom 1 day ago 0 replies      
Hi there, good day fellows

I was expecting this kind of thread long ago, thanks guys for sharing your concerns, I am learning a lot from them!

IMO we can't compare containers vs VMs like many are doing now - and I was too when first heard about Docker and containers.

I hold almost all VMware certs (VCP/VSP/VTSP for 3.1/4.x/5.x and VCDX), I sign the 3 major VMware P2V migrations in BR/LA (287 P2Vs in 2005, 1600/2008 and 2500/2011). I was REALLY into VMware from 2000 to 2010, so I feel confident using it and recommending to many environments. I even manage some of them still today.

When we clone or migrate a physical machine to virtual, or whenever deploying a VM from scratch (or even using templates or copying VMdks etc) into production, we aim to develop the environment in order to see it lasting "forever". We want this to be flawless, because even with given most-players virtualization deploying resources (hyper-V, VMware, xen, kVM, vbox+vagrant, etc), nobody wants to troubleshoot a production environment, we cheer to see the VMs always up and running. I remember when P2V in mentioned projects during the night, and needed to fallback physical servers because the cloned VM didn't behaved accordingly. Please VMware, clone it ok, otherwise the troubleshoot for legacy shit will be a pain.

On the other side, containers are made to be replaced. They are impermanent. You can tune your images as your app/env needs. You can have an image for each service you have.You can have many images running many containers, and some of them providing services you have.You are able to customize an image in a txt file called Dockerfile, and generate an image from this file.

So imagine we got this infrastructure to "Dockerize" , a website with a DB.Does your webserver runs apache? so you can code a Dockerfile, that will deploy an apache instance to you.It could deploy FROM an ubuntu:16.10 or 10.04, depends on what is better for your app.OR, we could just pickup Apache's own image, like in FROM apache. You can save this image as yourid/apache. And you can do the same regardless of what DB you are using, just install it (the mysql using apt-get in a FROM ubuntu/debian based system), or use mysql images directly. You are able to publish the website cloning your site dev repo direct in Dockerfile itself, or you could havethe website at some dir in your host, using ADD or CP to make it available in the right container dir (eg /var/www/)You could even use Volumes, to mount some host dir (or a blob, or a storage account, or a partition in your storage, something available in the host itself). This is specially interesting for DB in my opinion. Once you have your Dockerfile ok, you can name it yourid/db.

And if you have a main website, and a blog website, you could use the same apache Dockerfile changing only the git clone line, andsave them as yourid/apache:website and yourid/apache:blog for example.

And when redeploying the container, you will have the same volume data available in the same container dir. Even if you redeployed itfrom ubuntu:15.10 to ubuntu 16:10.You can use the latest improvements from the freshest image (or patching some vuln), and redeploy all your containers that uses this same image at once.

The same goes on, you can test jenkins without knowing what OS jenkins image is made off. You dont have to worry about it. It will just work. You pull the image and run the container and voila.

NOW, my Docker instances are like this: I use Docker-machine, and locally I got the default and local envs. I got also an Azure instance at Docker-machine (that runs on Azure), and another instance configured in Docker-cloud using Azure as cloud provider (I use Azure due bizspark credits). So, 4 of them. All those instances, are VMs themselves. Ubuntu VMs to be sure.

You just replace the container (probably published in a cluster if you care enough your prod env). Not the same as with VMs at all.

I see Docker as a hypervisor for containers the same way VMware and hyperv are to VMs.

So I understand my Docker hosts VMs have the same HA, failover, load balance, resources allocation, and so many resources VMs have.I use Docker on those VMs to make easy deploys, images, tune images, really guys I was the VMware guy for so long, I went just crazy in the resources Docker gives to us.

Docker has many weak points indeed (NAT networking, privileged containers must be run sometimes, security concerns, etc), but again, I don't see Docker to be erasing VMs from my life and now on I can deploy everything that will run happy forever in containers. We still need HA, failover, load balance, resources allocation and so on. Docker needs to be used together with TOOLS that allows it to run smoothly, and allows us to maintain our environments easier.

One of those tools are containers clusters. I work mostly with Google Kubernetes, but there are other as Docker Swarm, Apache Mesos, DCOS... Azure has its Azure Container Services ACS, IBM has its BlueMix containers, etc. Using a cluster and a deploy methodology, you are able to deploy your containers in different namespaces such as DEV / STAGING / PROD. You can use a BUILD environment to read your Dockerfile, build the image and deploy containers to the namespace you need. You can configure this build to trigger with a commit in the git repo for exemple.

So lets say we have a developer, and he needs our yourid/apache:website to be deployed, with the new website version. If the website is already updated in your git repo, you just clone it. The Dockerfile would look like this:

 FROM apache MAINTAINER Your Name <your@email.com> WORKDIR /var/www/ RUN git clone https://github.com/yourid/website/website.git . EXPOSE 80 CMD ["/run.sh"]
This would be named as website.Dockerfile. If you change the project git repo to any of your other sites that runs on apache, you can SAVE AS other.site.Dockerfile, and always deploy this service from this specific repo.

You can customize your Dockerfile of course and add support to specific codes like installing PHP, Ruby, Python, etc. You could even use Configuration Managers (CMs) as Ansible, Salt, Chef, Puppet, juju etc to apply those changes.

Lets say we will start the build now. We are developing this image together. So I just changed my git url on the Dockerfile. When we commit, the autobuild triggers this build in our build system (in my case, Docker-cloud or jenkins). This is what Continuous Integration (CI) and Continuous Deployment (CD) are about.

So when build is triggered, it gets the Dockerfile from the repo, builds from its image, deploys the container in the namespace you wanted (our case, DEV). This service could be published as website.dev.mydomain.com for example. Same concerning to staging namespace. And to www.mydomain.com when ready to production, in the PROD kubernetes namespace for example. Kubernetes is a distributed thing, so you could have minions (nodes) splitted across different datacenters, or geo locations. This pretty much reminds me of VMware VMs running inside VMfs storage made available through a set of ESXi servers, all with access to the same luns/partitions/volumes.

This is just my point of view, so please feel free to comment and ask me anything.

Please, just dont blame Docker because you aren't aware of mainstream techs available nowadays. If you are comparing Docker to VMs, or SSHing inside the containers, and often mad cause your data vanished while redeploying your Docker Containers, believe me you are doing it wrong.

Being a pioneer is often the same: in the 90s we had to explain why Linux was good for the enterprise, in the 2000's we had to prove VMware was really going to cluster your legacy systems, and now we have to explain what's possible to do with Docker. And, as the tech is new (I know there were previously solaris zones, google borg, etc), but I see Docker will mature its features relying in other tools (and even copying features from k8s to Swarm eg). Docker is just one skill needed to run your stuff.


M Matoshttps://keybase.io/mmatos

llcoolv 2 days ago 1 reply      
lol. read two paragraphs => click author's name to verify he's got no actual tech background. life is boring.
zk00006 2 days ago 0 replies      
'WTF' really?
Americans Work 25% More Than Europeans, Study Finds bloomberg.com
268 points by antouank  1 day ago   372 comments top 42
ajmurmann 1 day ago 13 replies      
I find it astonishing how positive Bloomberg tries to spin this:

People earn a wider range of incomes in the U.S., so workers have an incentive to try harder to move up the job ladder because a promotion is worth more, said Dora Gicheva

-The income range in the US is so large that there are lots of people at the bottom end who have to work multiple jobs. How much does that have to do with the longer work hours, Bloomberg?

Generous pensions in Europe are also a strong factor in discouraging older people from working, the study said. In the U.S., more people over 65 are working than at any point in the past 50 years. The U.S.s shift from traditional pensions to 401(k) plans makes it harder for Americans to know when its safe to retire.

-This sounds less like people in Europe are "discouraged" from working, rather than many Americans must work longer because they can't retire.

Edit: Formatting

amai 5 minutes ago 0 replies      
Maybe relevant: "Living in Switzerland ruined me for America and its lousy work culture"


webaholic 1 day ago 13 replies      
How happy are they working that extra 25%? They are richer, sure. But I don't think being rich is an indicator of your overall state.

Looking at [1], you can see that people in european countries come out on top of the happiness index. One could argue that working less is actually better for productivity and overall happiness.

[1] http://www.bloomberg.com/news/articles/2015-04-23/these-are-...

untog 1 day ago 5 replies      
I've worked in both Europe and the US, and in my opinion, US workers are far worse off for it. You earn more money in the US, you can advance faster, but you have next-to-no vacation time (and even when you do, you're still often expected to be reachable by e-mail), maternity/paternity leave is pitiful, and you have to pay large health insurance premiums, amongst other things.

I know that isn't the case for everyone, but on average I'd advise someone to take Europe over the US, just for quality of life alone.

matrix_escape 23 hours ago 3 replies      
I think its a lot more than 25%. In Sweden where I work, people are relaxed at their jobs. Coming in at 8.30 am and leaving at 4.30 pm with a full lunch break in the middle is normal. Taking a couple of coffee breaks or ping pong matches and chatting with collegues is normal. There is casual talk all day long and bosses are also leaving work early to pick up children, spend time with the family and just enjoy their lives. I think something around 35 hours is what we do around here, but getting payed for 40 of course.

The American culture honestly seems totally crazy to me. There is a massive difference in how you view yourselves over there. If you dont succeed at making some kind of a career, you feel like losers? Please step out of the matrix a little bit guys. Life is not getting some position in a company so you can work even more. Its about finding happiness.

jackcosgrove 1 day ago 2 replies      
Higher earning workers in the US work more hours than lower earning workers.

"Between 1979 and 2002, the frequency of long work hours increased by 14.4 percentage points among the top quintile of wage earners, but fell by 6.7 percentage points in the lowest quintile."

There are insinuations in this thread that the reason Americans work more hours is because the working poor have to work long hours to make ends meet. However, "There was no increase at all in work hours among high-school dropouts," from 1979 to 2002.

Americans working long hours is increasingly a higher income phenomenon. Which means those workers have more disposable income they could trade for shorter hours if they chose to.


NietTim 1 day ago 1 reply      
An old infographic I had bookmarked which shows this pretty clearly: https://i.imgur.com/Vkd1I01.png Also shows that working more != more pay (I'm Dutch, maybe you can see why I bookmarked it)
snovv_crash 1 day ago 0 replies      
Is it just me, or is the article looking a bit too hard for reasons why US workers having longer working hours is a good thing?
donretag 1 day ago 4 replies      
I would love to live and work in Italy (or any other Mediterranean climate country), but there are simply no [tech] jobs. And what few software jobs there are are not interesting at all and pay very little.

I value my time and I am willing to take a pay cut to live in Europe, but the jobs are not simply there. Why can there be no middle ground? For now, the plan is to work hard and retire early. Real estate price chages in Europe can be considered flat compared to the US.

V-2 1 day ago 1 reply      
The number of hours doesn't tell the whole story though. Working cultures differ a great deal. You may put in longer hours, but then it's more laidback, with more socializing etc. whereas somewhere else it's clock-in, work, clock-out, no fooling about.
tristor 19 hours ago 0 replies      
As an American currently working remotely while traveling in Europe I have seen some of this first hand. I think there's pros and cons to the aspects I've observed.

- Probably the most obvious is meals. In most European countries its not uncommon to take a 2-hour lunch break and to take 2-3 hours for dinner. But at the same time, the quality of food is higher, meals tend to be larger social affairs (not something you do alone), and slower more relaxed meals probably aid digestion. This contrasts sharply to the obsession with fast food/quick service meals in the US that are mostly taken alone and on the run. In some cases it was frustratingly difficult for me to find a restaurant with quick enough service that I wasn't feeling like I was letting my own team in the US down.

- Transportation is less car-centric. What this means though is that a lot of people have a longer, if somewhat more relaxed commute. For instance, rather than a 15-20 minute drive if you live "near work", you might have a 10 minute walk + 40 minute train/metro ride. Sure, you /could/ be working on the metro in theory, or checking emails on your phone while walking. But people don't, and in a way that's great. It gives you a few moments of wakefulness where you don't have to focus and you don't have to think about work.

- Holidays. I'm not really sure how this works out in small and broad technical teams like Operations. But it seems like given the amount of holiday time Europeans are granted and take that there's probably someone out on holidays on your team at any given moment. On the other hand, I imagine that there are less stress-related deaths in Europe.

These are all just my first-hand observations, I haven't really dug into the stats around it, but I can imagine how these and other factors could easily lead to an overall reduction in work hours or even productivity vs American workers. On the other hand, I've found Europeans tend to be healthier and happier than Americans, so maybe it's not such a big deal?

slavoingilizov 1 day ago 1 reply      
In the U.S., more people over 65 are working than at any point in the past 50 years

Also, more people over 65 are alive, compared to any point in the past 50 years. Inability to draw insight from data is the 2nd biggest problem of media these days (the first is the linkbait/profit/ad broken business model)

gervase 1 day ago 0 replies      
Does anyone know of a similar comparison that includes South and East Asian countries? From my personal conversations, those areas will see longer hours AND lower pay than the U.S., and I'd be interested to see that broken down statistically.
sguav 23 hours ago 1 reply      
I struggle to digest this article. Considering I'm an Italian who has ever worked 40+ hours a week (non tech jobs got me to 60+ hours/wk...). And then, when I lived in England, everyone seemed to be doing at most 35 hrs/wk.I understand that these are statistics, but I can't really match it to my experience (but, hey, maybe this tells me to complain less and enjoy spare time more!)
kilon 1 day ago 1 reply      
USA problems are well known for decades now


A glowing example of how a huge economy can also be a terrible economy . That 25% is only the tip of the iceberg.

If Russia is the fall of communism , USA is the fall of capitalism. Two extremely stupid economic and political models.

Is it a coincidence that both countries have the most rich in the world and a terrible track record on wealth and income equality, workers and human rights ?


a_humean 23 hours ago 0 replies      
This report is pretty pointless, and is at best a puff piece for an American audience. American workers are some of the most productive workers in the world, but working hours are not the sole reason. Working hours really do not tell you that much on their own.

In Europe, Greece works the most hours, and yet they are hardly an economic success story. French people work fewer hours than British people, and yet France has better productivity measures. Italy works the fewest hours, but they are stuck in an economic mire. Industrial Era British factory workers worked many more hours than British factory workers today, and yet I'm certain that today's factory workers are much better value. There isn't a meaningful correlation to be found around working hours independent of other factors.

jdc0589 1 day ago 1 reply      
Europeans have this shit figured out then. 25% less work means stopping at 3:00PM every day for me (unless you count the difference as block vacations). This would be LIFECHANGING. I get bored and stop concentrating around that time every day as is.
didibus 14 hours ago 0 replies      
Read a previous study on this same topic, and they hypothesized that it was due to cultural differences. In the US, socialization happens mostly through coworker interaction, and people's worth is assessed by the job you have and the money you make. Where as in Europe, socialization happens mostly out of work, in bars, coffee shops, etc. And people's worth is judged more from their hobbies, knowledge and social qualities.

I thought that was a pretty good hypothesis. It even reflects in the political tendencies each place demonstrate. A lot of people in the US aspire to be CEOs or rich, most people in France for example aspire to have a good glass of wine on the coast of France playing bocce ball all day.

To give some context, the other study I refer to found that Americans are happier when they work longer, while European were happier when they worked least.

johnohara 1 day ago 0 replies      
...according to the unpublished working paper (PDF)

Why would Bloomberg release this as news?

erikbye 20 hours ago 0 replies      
Im from Norway. It has always been something of a given, from our perspective, that Americans work on average more hours per week than we do. Its something you hear all the time. Also, that in the U.S. its more common to relocate for a job, and, accept longer commutes.

I have a full-time position, and work a maximum of 37.5 hours every week.

rue 16 hours ago 0 replies      
One interesting thing is that 25% more work is taken at face value.

In my experience, that 25% does not equate to 25% more productive in any non-assembly line job.

Americans are busier, spend more time at work, and dont get any more work done.

neves 21 hours ago 0 replies      
Its time to start a world backslash to defend American workers. Like we do to ask for good working conditions in Asia.

During the 17th century England started to fight against slavery. One of the reasons is that with the Industrial Revolution, the only way to compete with them were with slave labor. Maybe we should combat slavery in USA.

LVB 1 day ago 0 replies      
Europe? I would love to even get to the 26 hours/week that my fellow Americans are supposedly working according to the chart.
kilon 1 day ago 0 replies      
Well if as a country you seriously suck at wealth equality and defending basic human and worker rights that 25% seems pretty low. Stupidity after all loves hard work.

Of all this is just old news for researchers


alexk7 23 hours ago 0 replies      
The article makes it seem like the US is where people work the most. It is not. The selection of countries make their graph misleading. See https://en.wikipedia.org/wiki/Working_time
gozur88 18 hours ago 0 replies      
>The U.S.s shift from traditional pensions to 401(k) plans makes it harder for Americans to know when its safe to retire.

That's not really true. Traditional pensions rely on the financial health of whoever is paying the pension. Personally, I'd rather rely on a 401(k) than find out in my dotage the company I was depending on to pay the bills went belly up.

The real problem with retiring under 65 is health care. The situation is so muddled now it's impossible to predict what a health care plan or a serious illness is going to cost you five years hence.

skywhopper 1 day ago 0 replies      
The data is ambiguous as presented. The chart footnote says "Overall hours per person, not just for people with jobs incorporating time at work along with retirement, vacation, unemployment, and other time spent out of the workforce." which does not tell me if it counts children and is still vague about whether it includes adults who have no intention or desire to find a job.

The data given is in the article is far too sparse to draw any conclusions from. I hope the paper it's based on is more explicit and careful.

cbsmith 1 day ago 0 replies      
Bizarre. The study apparently did not collect data from Canada. That would be a good way to compare against the comparatively fewer differences between Canada & the US.
havetocharge 18 hours ago 0 replies      
Reading the comments here, it is amazing to discover how many people dislike their work. When I was younger, I too had my share of jobs that I wasn't overly thrilled about, but with time I've found a great deal of fulfillment in what I do, and I truly hope the same for others.
spectrum1234 1 day ago 0 replies      
The article fails to mention culture which is obviously the #1 reason for differences in the first place.
the_watcher 21 hours ago 0 replies      
> U.S. workers not only put in more hours than workers do almost anywhere else.

I understand that they're intending to compare us to other Western nations, but there's simply no way this is true globally.

ivanstame 1 day ago 0 replies      
I dont' find this to be a good thing, not something you should brag about...
TulliusCicero 1 day ago 0 replies      
But do they adjust for median age? The US is probably younger than western Europe on average due to immigration/slightly higher birthrate, which means fewer retired people who don't work.
jnmandal 1 day ago 2 replies      
One crazy takeaway from this: Greeks work longer hours than Germans
Koshkin 1 day ago 0 replies      
For a humorous yet insightful comparison between life in and outside the US I recommend watching Michael Moore's Where to Invade Next.
dsabanin 23 hours ago 0 replies      
Rat race is real and it's speeding up.
raarts 16 hours ago 0 replies      
Americans live to work, Europeans work to live.

'Nuff said.

contingencies 15 hours ago 0 replies      
Bloomberg is terrible. If it's not a nearly baseless hatchet job on China, it's a nearly baseless hatchet job on Europe. Next up? Canada.
overcast 1 day ago 2 replies      
Less happy, certainly plausible. The only world superpower, definitely. While I don't have any evidence to back any of that up, it certainly appears the nation working the most, has the biggest economy/power. Obviously money/power isn't everything though.
pcmaffey 19 hours ago 0 replies      
It's called the American dream for a reason.
cletus 1 day ago 7 replies      
Thing is, in the software world at least, you earn >25% more than Europeans in the US. Just look at salaries in London. Given the extraordinary cost of living, salaries are pitiful.

Why is that?

yAnonymous 23 hours ago 0 replies      
* 25% less efficient
Books Programmers Don't Really Read (2008) billthelizard.com
370 points by jotto  4 days ago   158 comments top 34
nanolith 4 days ago 8 replies      
I've read the books on both of those lists, among many others. Not because these are all required reading, but because I've had a long career and I've fought to continually improve my knowledge in Computer Science. It seems rather arrogant of the author to decree that one list is canon and the other list is not. Each of those books has its use. Does this mean that someone needs to read any of those books to be good at software? Probably not. But, studying each of those books will improve skills in the particular domains that the books cover.

Also, why is it suddenly in vogue to bash TAOCP and CLRS? When I read these sorts of posts, I generally think that the author really means, "I didn't understand these books, so therefore, they must be crap." I started reading TAOCP very early in my career, and Knuth's low-level approach of analysis has served me quite well over the years. It's why, for instance, I don't balk when I need to optimize a computationally heavy algorithm on an 8-bit microcontroller, or when I have to hand-tune a cryptographic algorithm to avoid cache side channel attacks, I can approach the problem logically. Knuth is an excellent teacher for the right sort of student. He's not for everyone, and there's nothing wrong with that. Software ceased being a one-size-fits-all field decades ago. For that reason, among many others, decrees of what is canon or not -- such as the one made by the author of this post -- are nothing but bunk.

doctorpangloss 4 days ago 2 replies      
Cue the circus of people who argue over the contents of this list, despite having actually used the learnings from books only in job interviews.

There are so many developers (like your peers at work) who have literally read none of these books. In a Darwinian sense, isn't that evidence that there's nothing so special about these texts for what you do?

Skip the books and just memorize what's on Interview Cake. I love that site. It so brilliantly subverts the academic pretensions of every industrial software development shop.

So many people will have memorized so precisely the solutions to programming test questions that they stop being useful. Engineering managers will be unable to come up with novel questions, because they will have no benchmarks. Then the madness will end: Computer Science will get less popular in university again, and this notion that these Gospels have All the Answers will go away.

GuiA 4 days ago 2 replies      
The Gang of Four patterns book is one of those books that you should probably only read when you already have decent experience writing non trivial software.

If you do so, it will formidably crystallize knowledge you've been acquiring subconsciously. You'll have probably been having gut feelings about why certain things are wrong or clunky and others are elegant, and Design Patterns will give you a vocabulary to describe these things.

If you read it as a beginner, the subtleties of it all will go over your head, and you'll end up trying to cram design patterns everywhere without much sense or reason.

jfoutz 4 days ago 1 reply      
I think those books have a specific time* in people's careers. My first real programming job, a couple years in i got a large project. I'd go home and flip through the design patterns book every day. Some days, rereading the introduction, some days rereading patterns. The project came out pretty well.

If i'd gotten a C++ job instead, i'd probably have torn up the C++ programming language book. My copy is fairly worn, but not like that gof book.

CLRS probably isn't as helpful as it once was, because the vast majority of time you just use an ADT from whatever library your language provides. Sure, maybe go review some subtleties from time to time, but if you're writing an algorithm for work, you probably do that all the time, CLRS isn't going to be that insightful.

The dragon book was opaque to me. Just about every thing in that book, i had to go find another discussion of. I'm just not smart enough to parse those words and math into code.

I dunno. I'm a pretty mediocre programmer. They've been helpful to me at various points in my career, but i don't think they are much help in modern programming.

* I've only been able to chew through a couple chapters of TAOCP. I think the only programmers these books help are people like Fabrice Bellard. Find someone who's worked through those books, hire them. Well, if you really need to solve problems and you're not just hooking a submit button to mysql.

perrygeo 4 days ago 3 replies      
> I've read all of these books myself, so I have no difficulty believing that many moderately competent programmers have read them as well. If you're interested enough in programming that you're reading this blog, you've probably read most, if not all of the books in this list

That is some gross arrogance on full display right there. If you're as good as me, surely you've read all these books. Any other books... flawed in ways you should be ashamed of.

CalChris 4 days ago 3 replies      
I'd put SICP on the better read when dead list. Fundamental Algorithms shouldn't be read anymore but at least I liked it when I read it. SICP was the text in 61A at Berkeley but there were no assigned readings from it. It was meant to be worshipped rather than read. I rather like the Dragon book but compilers have come along. The 2nd edition is an improvement.

I'd add that EE20N used a Berkeley written text, Structure and Interpretation of Systems and Signals. I was in the minority and liked that book. I still have it.

sytelus 4 days ago 2 replies      
I've read CLRS page-to-page 3 times and doing pretty significant chunk of exercises. It takes on average about 4-8 months with 2 hours each day. I still think the title is accurate, i.e., its just "introduction". These days at work I frequently bump in to algorithms that would be qualified as advanced and CLRS content now looks fairly introductory to me. In fact book hasn't even scratched 10% of the stuff that we use regularly in our work. I think most people active in CS research feel the same way but if you were programmer doing regular LOB or iOS apps then OP's view may feel more closer.
bigtunacan 4 days ago 1 reply      
The whole article just seemed like one silly anecdote. "Well these are the books I actually read so it must be the same for everyone."

I think the author's next read should be a good statistics book.

Here's my anecdotal evidence. I have read 8 out of 10 from his first list. I have read everything except for TAOCP from the second list. Some of the ones from the second list I have read multiple times and I still go back too as reference from time to time.

I have started reading TAOCP on several occasions, but I'm not going to lie; that shit is complicated and the dry academic nature makes it even worse to parse. I still plan to get through it in my lifetime, but I keep prioritizing easier reading.

userbinator 4 days ago 1 reply      
I have a hard time believing Petzold's Code is in the first list, or even the second, because its content is so very different from most of the other books. It's not particularly directed at programmers either.

As for the design patterns book, I've glanced through it and didn't find it all that useful; that being said, I was never a fan of that school of thought (OOP, UML, patterns, etc.) either.

WalterBright 4 days ago 3 replies      
> There's certainly plenty of evidence that someone has read this book, since otherwise we wouldn't have so many C++ compilers to choose from.

I don't think that's quite true. The only C++ compilers I know of are:

1. cfront C++ (from which many C++ compilers were derived)

2. Digital Mars C++ (the one I wrote)

3. g++

4. clang++

5. EDG C++ (from which many other C++ compilers are derived)

6. Microsoft C++

7. Taumetric C++

It's a pretty thin list for 30 years. (I apologize if I neglected any.) Contrast that with C - at one time in the 1980s I counted over 30 of them (I'm not sure how many were independent creations).

Edit: removed Borland C++ as that was derived from Taumetric.

Myrmornis 4 days ago 1 reply      
> If you're interested enough in programming that you're reading this blog, you've probably read most, if not all of the books in this list

oh, really?

> it's intended for the multitudes who are trying to appear smarter by pretending to have read them.

As opposed to trying to appear smarter by issuing decrees to the internet about what everyone who is "interested in programming" has read.

kazinator 4 days ago 1 reply      
From the first list, I've only read (3) The C Programming Language and only partially (5) Mythical Man-Month.

From the second: (1) Intro to Algorithms, absolutely cover to cover once, and selected readings additional times; based the Kazlib "dict" module closely on the Red Black tree algorithm (with a slight improvement); (2) Compilers: Principles, Techniques and Tools: Ditto, and in recent years, implemented a regex compiler based on the graph-based descriptions in that book; (3) TAOCP: selected readings only, too huge; (4) Design Patterns: cover to cover, when OOP was fashionable in the 90's; (5) nope, but I read the Stroustrup and Ellis Annotated C++ Reference Manual cover to cover (weekend before starting first C++ gig). That counts as a 1:1 substitute, more or less.

WalterBright 4 days ago 1 reply      
> the word "Introduction" leads one to believe that the book is a good choice for beginning programmers. It isn't. The book is as comprehensive a guide to algorithms as you are likely to find anywhere. Please stop recommending it to beginners.

Reminds me of the Caltech required 3rd year math course "AMa95 Introductory Methods in Applied Mathematics", that came with the dry comment that "Introductory does not mean elementary." It had a reputation as one of the toughest classes.

nn3 4 days ago 1 reply      
>On the positive side, if you're looking for the solution to >a problem in TAOCP (and the appropriate volume has been >published) and you can't find it, the solution probably >doesn't exist. It's extremely comprehensive over the topic >areas that it covers.

That's almost certainly wrong. TAOCP is very outdated in many ways and doesn't really cover modern algorithms.It's great for classic CS upto 90ies(?) or so, but there has been a lot of progress since then.

lucidguppy 4 days ago 0 replies      
I do like the C++ programming language book. It has a really nice introduction in the first quarter of the content. It has good no nonsense examples.
dmalvarado 4 days ago 0 replies      
Who claims to have read a book they didn't? "Yea I read that." (No I didn't). That's straight lying.

I think what's more likely is, someone will say, "YOU should read this book. It's awesome." The implication being, the suggestion comes from first-hand experience.

tylorr 4 days ago 1 reply      
What does it say about me if I haven't read any of those books?
anexprogrammer 4 days ago 0 replies      
Let's see.

Never come across Code, Head first Design Patterns - WHY? GoF book is much better, and well written and explained. Read all the rest, though K&R 1st edition. Bought 2nd when someone 'borrowed' original from my desk and never returned.

Of the rest:

Never heard of the first one, but I'm British.

My green dragon book was read cover to cover a couple of times, and I tried to build a compiler off the back of it. I used another compiler book in equal amount, I forget the book though.

I've three volumes of Knuth. I should have bought one at a time - I got about 1/2 way through the first volume.

Design patterns was extremely well used.

C++ was mainly reference, unlike K&R it wasn't a good read to learn from. Pretty heavy going if I remember. The Design and Evolution of C++ was much more interestng. Then the 2 Scott Meyers books (Effective C++ 1&2). Thinking in C++ was the book recommended to learn from at the time, though I've not read this.

QuadrupleA 3 days ago 0 replies      
Wanted to second the ambivalence around the CLRS Intro to Algorithms book - having learned a few algorithms by poring through its chapters, I can definitely say it's a long, out-of-the-way route to take for a practicing programmer. I may not have enough hindsight (bought it a year ago) to truly say whether the dense mathematical approach was valuable to me long-term, but for now I'd say a wikipedia article or a less formal, more to-the-point book like Jon Bentley's Programming Pearls is time much more well spent, unless you are actually aiming to work in academia for a computer science department.
rtpg 4 days ago 0 replies      
When I started programming, I first read "Beginning Programming For Dummies" (QBasic), "C++ for dummies" (before STL, so implementing your own linked lists was fun), and... The C++ Programming Language

I spent maybe 3 years as a kid flipping through the C++ Programming Language book, trying to figure out how to do stuff with that + the Allegro tutorial. Totally a programming language reference.

It's one of those weird books that you could spend years just looking at on a desert island and find things to do with it. But you basically need to flip through all of it to get what is happening most of the time (at least I needed to when I was a kid).

Really wish I knew about Python back then....

marme 1 day ago 0 replies      
all 5 of the books mentioned that programmers dont read were required reading for my CS degree. Did I read them cover to cover? no but i did read enough to say which are useful to read and which are not. I would guess the majority of programmers who have completed a CS degree have only read those books because they were required reading, does that make the books less important or useful?
rampage101 4 days ago 0 replies      
TAOCP is so much superior to CLRS it is not even close. At the end of each section of CLRS they ususally mention Knuth anyways.

Knuth's writing is clear and amazing. It really makes the history of computer interesting.

Pretty typical of the author of the post who did not complete TAOCP to say it is somehow flawed for being too cryptic.

Why is the author concerned about what others have read or not anyways? It seems he more concerned about proving he has read more than others.

drew-y 4 days ago 3 replies      
Is there a good alternative to "Compilers: Principles, Techniques, and Tools"?

I've been programming for a few years now and I'm looking to more formally educate myself in general computer science. I've been told having a good grasp on compilers and interpreters can be useful for a wide variety of problems.

So far "Language Implementation Patterns" looks like it might be a promising alternative.

pmontra 4 days ago 1 reply      
I read the Dragon book, actually studied it for a CS course. I read C for the same reason and because it was the time when either you read books or you didn't know stuff. Most of the other books are more recent and the web was already there and good enough, especially for references. Those get old fast on paper.
bordercases 4 days ago 0 replies      
Reading these books leads to the opportunity to take on jobs related to these books. So people saying, "oh, I use this in my job all the time" without reading the books after they took the job, ultimately have less to say on the matter.
nchelluri 4 days ago 4 replies      
Is Code Complete still worth reading for a working developer?
hilop 3 days ago 0 replies      
I've read all of 3/10 books on the first list "everyone reads", and 3/5 on the "no one reads" list.

Most of the books on the first list were published after veterans already learned the relevant materials -- the author must be under 30 (so under 25 at the time).

Certainly a weird sample among popular books, the author thinks everyone reads the same arbitrary subset of books he had.

dudul 4 days ago 0 replies      
I missed the part where the author provides a reference/source to claim that developers don't really read some books.
jcoffland 4 days ago 0 replies      
Wow I've read many more of the books in the second list.

The second list should also include Structure and Interpretation of Computer Programs.

good_sh_t 4 days ago 0 replies      
>programmers tend to read programming books instead of computer science books

Wow, amazing insight!

szines 4 days ago 1 reply      
How about Clean Code?
ajarmst 3 days ago 1 reply      
Ah, another entry for the "I didn't read the books people say I should have---here's my nationalisation" genre.
ori_b 3 days ago 0 replies      
Interesting. I've read almost none of the books on the first list, and everything but TAOCP on the second.
A single byte write opened a root execution exploit haxx.se
319 points by adunk  4 days ago   58 comments top 14
pjmlp 4 days ago 1 reply      
As C. A. R. Hoare would put it:

The first principle was security: The principle that every syntactically incorrect program should berejected by the compiler and that every syntactically correct program should give a result or anerror message that was predictable and comprehensible in terms of the source language programitself. Thus no core dumps should ever be necessary. It was logically impossible for any sourcelanguage program to cause the computer to run wild, either at compile time or at run time. Aconsequence of this principle is that every occurrence of every subscript of every subscriptedvariable was on every occasion checked at run time against both the upper and the lower declaredbounds of the array. Many years later we asked our customers whether they wished us to providean option to switch off these checks in the interests of efficiency on production runs.Unanimously, they urged us not to - they already knew how frequently subscript errors occur onproduction runs where failure to detect them could be disastrous. I note with fear and horror thateven in 1980, language designers and users have not learned this lesson. In any respectable branchof engineering, failure to observe such elementary precautions would have long been against thelaw.

-- Turing Award lecture 1981

This is why having C on our foundations matters, even if our daily programming languages happen to be safer and not susceptible to memory corruption.

umanwizard 4 days ago 3 replies      
It's not really surprising that writing one byte can break software. For a really simple example, consider the following function:

 bool authenticate(const char *username, const char *password) { const char *correct_pass = get_pass(username); return (strcmp(correct_pass, password) == 0); }
Now imagine you know a way to change the first byte in the password entry (i.e, what becomes correct_pass) to \0. Now pass a blank password to this function and it will always return true for any username.

tedunangst 4 days ago 2 replies      
Just FYI, "it's only a one byte overflow" has been a standard exploit denial for 20 years, and also wrong for that long.
userbinator 4 days ago 2 replies      
A single byte change is also enough to crack a lot of software, bypass DRM, and various other empowering things.

The difficulty is, as usual, finding out which one to change. ;-)

jtl999 4 days ago 2 replies      
Was this part of the recently reported $100k ChromeOS flaw? If so interesting for learning purposes.
caleblloyd 4 days ago 1 reply      
Good thing Chrome's bug bounty is so high, otherwise white hats would probably never spend this much time exploiting bugs like this to show how big of a deal they are.
winteriscoming 4 days ago 3 replies      
Given that this involves memory allocation and the fact that it has to be triggered with a specific sequence of HTTP requests, does it mean that the possibilty of this happening is extremely rare? Any system on which this attempt is done probably needs to be having not many others processes running which might trigger memory allocations and thus break this specific set of steps to exploit the issue?

Not trying to belittle the issue or the efforts spent to report it, but trying to understand how frequently it could be exploited.

jdmoreira 4 days ago 0 replies      
I'm the owner of hxx.se and I just found out that I subconsciously registered almost the same domain as Daniel Stenberg :(
DaiPlusPlus 4 days ago 1 reply      
I don't understand how this leads to a root exploit - I assume c-ares is running in userland inside a user's host process (a web-browser) - or if there is a systemwide daemon for DNS or other network services hosting c-ares then it should run under limited privilege. Which component is already running at root that allows this to happen?
nothrabannosir 4 days ago 0 replies      
Why did the proxy not drop privileges? Not to take anything away from this outstanding feat ...
omribahumi 3 days ago 0 replies      
A single bit (TCP URG bit) triggered a BSOD on Windows 95 (WinNuke)


jingo 3 days ago 0 replies      
Being exposed to djbdns I was never tempted at all to try c-ares.

Not sure what I missed. It must have some other redeeming qualities besides this one. :)

Learning to master nc and tcpclient before curl* had the same effect. I guess I am missing all the fun.

*There are so many features, so much rarely used code, I'm not sure one could ever hope to fully understand all the implications.

acqq 4 days ago 0 replies      
"Two hard things in computing: cache invalidation, naming things, and off-by-one errors."
phessler 4 days ago 3 replies      
This would not be exploitable if ASLR was enabled.
Response from Google Tech Lead, Re: Google May Be Stealing Your Mobile Traffic alexkras.com
342 points by akras14  1 day ago   193 comments top 26
cyrusshepard 1 day ago 13 replies      
This is a good response and I appreciate Malte's effort to engage publishers, but it doesn't calm my nerves about the biggest publisher complaint about AMP:

Google owns the chrome (top navigation) on all AMP pages. This makes it easy to navigate back to Google (why would you ever want to leave?) and other publishers in the AMP ecosystem, but much harder to navigate to the publisher that created the page in the first place

In essence, this means that what was once a publisher-owned page is now shared property: between the Google and the publisher. By controlling the top navigation, Google more easily controls the content the visitor sees, keeps visitors on Google longer, provides greater opportunity to track visitors, and perhaps most importantly has the opportunity to earn more ad revenue.

Now imagine if this was a requirement for ALL pages served in Google search results. You publish a page and it appears in Google, but when the user clicks on it Google has pasted a new navigation on the top of your page. This is exactly what is happening with AMP.

This is especially troubling in light of all the anti-trust controversies Google is finding itself in, both in the US and abroad. A recent study showed that 49% of all Google clicks go to Google properties of one kind or another (Maps, YouTube, Ads, etc) http://www.slideshare.net/randfish/intro-to-mozcon-2016/24-L...

Does AMP count as another Google property that will push more than 49% of clicks their way? Hard to say, but it's a disturbing trend for a monopoly and a hard pill for publishers to swallow.

gleb 1 day ago 3 replies      
As a user I've learned to avoid AMP pages because the UX is horrible:

* back button is broken 1/2 the time

* the bar wastes 1/3 of my screen

* I can no longer see what site I am on in the url

* it's hard to navigate to the / of the site

* I can't forward the link

* being on a good network in US it solves no problem that I have

What I'd really like to see is a way to opt-out of seeing AMP'ed pages in my search results. Or at least a way to navigate from AMP page to its native version.

Further, I noticed that AMP is a signal for low quality content. I am guessing sophisticated publishers are conservative enough to wait and see. And individuals haven't bothered dealing with it. So you get low-end publishers in between.

matt4077 1 day ago 1 reply      
Yeah, I was quite surprised how positive a reaction the original complaint got, considering it was long-winded, repetitive, and seemed to go out of its way to misunderstand AMP.

The only valid criticism appears to be how google displays search results using its own URL and this toolbar it seems to break rather fundamental assumption about http and has the potential to break all sorts of tools that rely on the established structure of the web and open standards, as has already happened with the refer(r)er as mentioned in this response.

I wonder if there's a way to get the same result without rehosting content on their own URL. Couldn't they allow publishers to achieve the same result with a CNAME, possibly for amp.<hostname>.<tld>? And do the google servers add anything beyond being distributed caches? Because if not, it seems this level of indirection is redundant for websites already hosted on CDNs.

Regarding the toolbar: yeah, that's a terrible idea. I have no sympathy for publishers who object to it because if it reduces your retention rates there's probably more wrong with the content than the presentation. But as a user, it's the sort of "assisted browsing" that feels intrusive, like resizing the window or a "you need flash" popup (I don't).

Considering their market share in browsers isn't far behind the in search, I wonder why that function isn't just a chrome feature. Funny thing is: it's a feature that exists in Safari ("Search results snapback").

chiefalchemist 1 day ago 3 replies      
Google has their version of the internet. Facebook has their version of the internet. As time slides forward just think of how many users won't know the real internet from these rubber doll versions.

Congrats humanity. Your best invention ever and it only 20 years or so to completely fuck it up. This is why we can't have nice things.

xg15 1 day ago 2 replies      
I think one important point is hidden within this sentence:

"The original idea behind AMP was to allow content to be distributed to platforms (such as Google, Twitter and Pinterest) in a way that retains [...] control for the publisher."

(emphasis mine)

So Google sees itself as a platform in the tradition of Twitter and Pinterest - i.e. a controlled space on which content (with more or less control by the authors) is published. That's a significant difference to the gateway to the open web that they primarily still are at the moment.

rahrahrah 1 day ago 1 reply      
He avoids really hard addressing the only bit that matters

> Guess what happens when the "close" button is clicked inside the AMP view?

And the amount of disingenuous on this just rubs me the wrong way:

> If you are not comfortable with traffic on your AMP pages, please do not publish AMP pages.

dingo_bat 1 day ago 3 replies      
So basically this guy says all of the issues are by design and you can choose not to use amp if you don't like all of it. Google isn't going to penalize non amp pages in search ranking. They are just going to not show your page in the carousel.

I think it's a pretty fair position to take. If you don't like amp don't use it. We'll see if amp catches on over a period of time.

Sephr 1 day ago 3 replies      
As positive as the response sounds, it is an empty promise.

> Were looking at ways to make the source link more discoverable and will update once that is done.

If Google was actually going to fix the issue, they would have said "we will make the close button direct users to the original site and will update once that is done" OR "we are changing the x (close) button to a (back) button".

"x" means "close" and "" means "back". This is confusing UX at the least and arguably a dark pattern.

codezero 1 day ago 1 reply      
Am I being uncharitable in saying the TLDR is:

This is working as expected and you need to do more work to make AMP work for you?

Why can't it work with templates, why does content that was created need to be created again for AMP? This doesn't seem very scalable.

Also, the attribution for ads and analytics basically means you need to reimplement your entire tracking code within the schema and spec of AMP's analytics attributes which only supports a subset of existing providers rather than allowing an abstract interface.

Also to the point that AMP doesn't affect search position, is this true if someone serves a shitty AMP page? Or is it only true that it won't boost position?

UweSchmidt 1 day ago 0 replies      
"The original idea behind AMP was to allow content to be distributed to platforms (such as Google, Twitter and Pinterest) in a way that retains branding and monetization control for the publisher. AMP traffic is the publishers traffic. Period."

So far I haven't thought of Google as a platform like Twitter or Pinterest. I thought there was a free web with Google and Bing and good old Altavista searching and indexing it. Is making a website now similar to posting something on Facebook? Or why would they have to assure you that your traffic is your traffic, "period"?

If that's the case we need an urgent change in direction!

nv-vn 1 day ago 4 replies      
Am I the only one here who has never seen an AMP site in the wild? Seems people in the comments are super familiar with the service.
csmajorfive 1 day ago 0 replies      
It's nice to see Google investing in direct responses to the community. If you build a developer product, monitoring HN for criticism and responding is very high ROI. Few companies actually do this.
StephenConnell 1 day ago 1 reply      
If hacker news had a speed rating next to the links I would probably click on them more instead of just reading the comments to decide if it's worth pulling up an article.

Note, It has been suggested that a speed rating on Google would be equivalent to the amp experience with less Google control.

EugeneOZ 1 day ago 0 replies      
Doesn't convince me. Top bar is the biggest problem and they are "working on it" (we all know what does it mean) and "it will be landed in Chrome soon", when Chrome is not only browser in the world of mobile devices. Also from this response I see they want to make Chrome the new IE (if problem is solved in Chrome - it's solved), and it's frustrating.
jasonhansel 1 day ago 1 reply      
I don't see why Google needs to have its own cache for AMP pages. If a publisher has its own fast CDN, why not just let it serve the AMP pages from its own domain?
woliveirajr 1 day ago 0 replies      
End users, in generall, don't know and don't mind about these complaints against AMP.

What matters is if one gets the results he was searching for. And somehow those pages that have "amp" written nearby open faster, so let's click more on those.

Market pressure will drive decisions on whether it's better have amped pages (with those claimed drawbacks) or try to capture attention to the whole site with navigation and lighter pages.

And as a prisoner's dilemma, if sites that don't have amp are as fast as the amped, having "amp" near your link won't matter. If they are slower, the distinction will matter, independently of your specific optimization.

mthoms 1 day ago 0 replies      
There's also this little chestnut:


TL;DR Google AMP also hijacks app deep links

pmontra 1 day ago 0 replies      
> If Google cares so much about the mobile experience, why cover 15% of the small mobile screen with a fat bar at the top?

> The Android users might have already noticed that it is now scrolling out of the way

It doesn't scroll away. Just checked on Google news with both Chrome and Opera. Android 6. Am I missing something?

stygiansonic 1 day ago 0 replies      
Previous HN comments on the original story: https://news.ycombinator.com/item?id=12722590
aeharding 1 day ago 2 replies      
So if I built my own personal ad network, I could make a PR and have it be accepted?
bhartzer 23 hours ago 0 replies      
One of the problems here is that when users click on a search result (marked AMP in Google's SERPs), they expect to visit a website. Instead, they visit a cached version of the page, on Google's site.

This is deceiving.

If Google's going to cache the page, then there should be a "cache" link so the user knows that they're clicking on a cached version of the page. Otherwise, deliver the user to the site that they think they're clicking on.

TheAceOfHearts 1 day ago 1 reply      
Does Google have any plans to let users opt out? Maybe an icon that takes you to the original? I tried opening the AMP link in a new tab and it took me to the site, so at least there's a workaround.

Since I normally use Firefox Mobile (has to try it with Chrome), I don't get the AMP icon and I'm taken to the requested site. I'm guessing this functionality is limited to Chrome and (maybe?) Safari on mobile.

AMP is attempting to solving a challenging problem, and although I don't personally agree with their solution, I've gotta recognize that opening the embedded AMP version of the page from the result of "git tips" was faster on Chrome than on Firefox. I'm hopeful that the lessons learned from this will be pushed upstream and help improve the web.

forgotAgain 1 day ago 0 replies      
If it was Verizon or AT&T or some other ISP doing this there would be outrage. But I guess it's cool if it's Google.
whiddershins 1 day ago 0 replies      
I'm interested in the intellectual property aspect of this.

Why exactly is it permissible for Google to "cache" my page and then serve it up to users?

That's literally them copying my page to their own servers, which is my content, my intellectual property, and then serving it up however they like.

I'm a little confused how that is legal.

SakiWatanabe 1 day ago 0 replies      
so how do i view the original page...?
ComodoHacker 1 day ago 1 reply      
>Hey, this is Malte and I am the tech lead of the AMP Project for Google.

Of all his 725-words response only 18 words directly address the problem:

>Were looking at ways to make the source link more discoverable and will update onc