Scientists say dolphins should be treated as 'non-human persons' - <AUTHOR> http://www.timesonline.co.uk/tol/news/science/article6973994.ece

<comment><USER2> Did the scientists say why their opinion on moral matters is headline news?

I don't even disagree with them. It's just that whether something should be treated as a "non-human person" is a matter of values, and I don't think the common set of values around personhood has anything to do with intelligence. If you want it to, you need to change _that_ first.

<comment><USER3> I agree with your first sentence.

I do disagree with them though. I don't think there is such a thing as a "non- human person" let alone applying it to the animal kingdom.

Edit: PETA must love it though

<comment><USER2> Then I think you agree with my entire comment. What I meant to get at is, my values and these scientists' values are both uncommon and non-normative, so they're pretty much irrelevant — most people don't care about the intellectual or emotional qualities of the creature in considering whether it's a person. The general heuristic is something along the lines of "Is it identifiably H. sapiens and alive?"

</comment></comment></comment><comment><USER4> so, uh, would they be able to make contributions to political campaigns?

</comment><comment><USER5> previous discussion:

<http://news.ycombinator.com/item?id=1875014>

</comment><comment><USER6> What does that mean anyway? We can't even come to an agreement on how to treat human persons.</comment>


Apple Names Jony Ive Chief Design Officer - <AUTHOR> http://techcrunch.com/2015/05/25/apple-names-jony-ive-chief-design-officer/ <comment><USER2> I was always inspired more by Jony Ive over Steve Jobs. In interviews he was always more real to me, more humble. A simple take away I've had from Johny (and steve to some extent) is to simply pay attention, to everything and anything. That kind of care and focus is how they get to be apple, versus good enough.

But will their products get better as a result of this? or will they continue to decline? Design has always taken more prominence at apple over usability (do they even have a Chief Usability Officer?) To some degree it's a tolerable tradeoff to make; but I've noticed their products have become significantly more design focused and well, pretty much everything else has taken back seat.

Perhaps there's TOO much design, and not enough of everything else. Maybe Steve was that balance to Jony and now the ying is yangless. Or maybe they're just optimizing their business for other things, and the things that matter to me are insignificant to them now.

<comment><USER3> >Design has always taken more prominence at apple over usability

I strongly disagree with you there. In fact, I'd say the exact opposite.

The experience of using the product has always been at the very core of Apple's design philosophy. The entire desktop metaphor, include the Trash, the files in folders, etc. is about simplifying the user experience with the computer.

The fact that anyone can just pick up an iPhone and pretty much immediately know what they should be doing, without reading a manual, tells you exactly that usability has been so thought out that it has become invisible. You just do what you want to do, without having to think about how to do it. So, it's the embodiment of the Steve Krug "Don't make me think" mindset: usability is design.

<comment><USER2> As someone who is a big fan of "don't make me think" (just bought the third edition a few days ago, actually) I can attest that there are things that apple has done/designed that make me think or pause. I _Don 't_ think it's core to their philosophy - perhaps it is a part of it, but not front and center. I get snagged on too many things for that to be the case; and it's become noticeable in the past few years to the point of hindrance for me in some cases.

Their keyboards and mice particularly showcase this: they look pretty and sleek, but try using them all day, and then try using a regular keyboard and mouse. They weren't thinking about the human who has to use it, they were thinking of appeal and looks.

You're not wrong about the approachability of IOS; that's no accident, and required a good deal of thought and attention. But I think whenever there is a tie, and they can either improve the aesthetics or improve the usability, they lean towards the former, because it's sexier and will sell.

<comment><USER4> > Their keyboards and mice particularly showcase this: they look pretty and > sleek, but try using them all day, and then try using a regular keyboard and > mouse.

Having done this, I prefer the Apple products:

1\. The keyboards have very little travel so it is considerably less effort to type on them then to type on a standard keyboard.

2\. The Magic Mouse has a large multitouch surface on it that enables gestures that I have a hard time going without. Also, it fits my hand. YMMV.

<comment><USER2> Have you tried the new keyboard and trackpad on the new macbook? the keyboard feels like buttons more than keys, and the trackpad is... not good.

but, still; matter of taste. there will always be lovers and haters, and you're certainly welcome to prefer one over the other.

<comment><USER4> I haven't tried the USB MacBook yet.

</comment></comment></comment></comment></comment></comment><comment><USER5> While I have tremendous respect for Sir Ive as a designer, I'm beginning to notice a trailing-off of quality in Apple's software products ever since Jobs departed. Little quirks and irritants which would never have made it to the outside world in Jobs' days, are now sneaking out.

Apple has the design part covered, but it seriously needs a fanatic who will make sure that every iOS release is perfect. They lost that fanatic, and he hasn't been replaced.

<comment><USER2> I've seen similar across their products too. Like the volume up/down display that appears whenever you change the volume; it's supposed to have rounded corners, but they goofed and it displays the area between the rounded corner and actual corner as black instead of transparent. At least for me.

<comment><USER6> From my experience, this bug appears rather randomly.

</comment></comment></comment><comment><USER7> I think it's nonsense that Ive would be working on future Apple Stores or even spending much time on Campus 2 (it has largely been already designed). Pretty clear he will be spending more time with Marc Newson designing the next category of products i.e. the much rumoured Apple Car.

<comment><USER8> I think there's a very good chance he'll be working on Apple Store design, alongside Angela Ahrendts. I think there's a very good chance she'll want a redesign and, for something so critical to Apple's success, Ive will definitely want to be involved.

He was involved in the design of the new Apple Watch display tables[1] that have arrived in Apple stores, as mentioned in the fairly recent interview with Ive in The New Yorker, so I don't see any reason why he wouldn't be involved in store design, too.

[1] [https://9to5mac.files.wordpress.com/2015/03/watch4.png](https://9to5mac.files.wordpress.com/2015/03/watch4.png)

</comment></comment><comment><USER9> Ive will be remembered as the man who succeeded (for only a while I hope) in removing graphics completely from graphic design. Flat "design" is uniformly featureless to make it easy for developers to make apps while requiring no skills in graphic design or expense on the same. Lower the bar and level the field. It's about apps, apps, apps...

</comment><comment><USER10> Jonny Ive and his team spent 18 months perfecting the 'tap' notification for the Apple Watch. This attention to detail has everything to do with Usability and nothing to do with design. So, as with other commenters on this topic, I strongly disagree that design has always taken prominence over usability, to me it't the exact opposite.

It's not all 'roses in the garden' however. Apple have really let themselves down with OSX, which in terms of Usability doesn't hold a candle against Windows OS. Agreed, some will argue that Windows evolved out of OSX in terms of interface - but for me, the usability attributed to Windows is far superior.

</comment><comment><USER11> The Peter Principle in effect. Apple wants Ive to be the new Jobs but his software taste just isn't as refined and it's distracting from his hardware work which is getting lazy. The Apple Watch is literally an iPhone on your wrist[0]; it's quite ugly for a watch. I'd rather have Jony back focused on hardware instead of failing upwards.

[0] [http://i.imgur.com/8pcfcbk.jpg](http://i.imgur.com/8pcfcbk.jpg)

<comment><USER12> > The Apple Watch is literally an iPhone on your wrist[0]; it's quite ugly for > a watch.

I agree; it's literally an iPhone 1. But I think the iPhone 1 looked the way it did due to some pretty heavy design-constraints—it wasn't simple, back then, to get the amount of hardware they did into the package-size. And the same is true today with the Watch. I fully expect the package to shrink and the design to become less "forced" and more "designed" over time.

<comment><USER13> Not sure where I saw this, but love this image likening the two, captioned "A New Start": [http://i.imgur.com/QDMncbP.png](http://i.imgur.com/QDMncbP.png)

Ah, here's the source: [https://twitter.com/lukew/status/594628479766761472](https://twitter.com/lukew/status/594628479766761472)</comment></comment></comment>


Speaking While Female - <AUTHOR> http://www.nytimes.com/2015/01/11/opinion/sunday/speaking-while-female.html <comment><USER2> "When female executives spoke more than their peers, both men and women punished them with 14 percent lower ratings."

I've seen similar comments before and even going as far as saying women were harder on women than men when moving up in a career. It's deeper and more complex than men versus women. I've heard my share of anecdotal stories from women who say the same thing, women are their harshest critique and most difficult challenge. It seems daunting, how do you even begin to change that.

"He announced to the writers that he was instituting a no-interruption rule while anyone — male or female — was pitching."

That is excellent, and sad, that we have to go back to grade school etiquette to let people find a voice. It's true though, if a team member isn't trusted to have a voice they shouldn't be a part of the conversation. If they are a part of the conversation they should have the respect of the rest of the team enough for them to shut up and listen, then respond. Spirit sticks!

<comment><USER3> This also opens the door to having one or two self-promoting types control the conversation by commenting early on and to never stop talking. I find its helpful to interrupt people sometimes as it helps cut the BS in meetings.

I doubt there's an easy fix here. My take is that there's a larger aspect not addressed in the article: women simply aren't socialized to be socially aggressive. The same way women often won't negotiate salary and then we wring our hands over women's salaries. How about of instead changing everything to suite these women, we encourage them to be more socially aggressive? Its not like these things are pleasant or easy for men either. I feel like if I didn't learn how to act this way, I wouldn't be competitive at my job. The same way I see loads of shy male techies who never speak up and don't contribute much and don't end up promoted or appreciated. I think its a skill that can be learned and things like "oh I'm INTJ, oh I'm a woman, etc" are excuses. Why aren't some people motivated to learn the proper social skills? As a previous shy person, I know that this is just a learn-able skill.

I don't think we need to make meetings longer and "nicer" and if we did, it would just lead to resentment and fleeing of talent to company B where that talent can thrive without a lot of politically correct baggage holding them back. Now company A is a bunch of quiet milquetoast types unable to engage in argumentation and eventually not be competitive against a more aggressive company.

Lastly, a lot of the more quiet people I've worked with are so because they just don't have a lot of good ideas. They're bureaucrats and desk jockeys or are ultrafocused on their little niche of the world and add the same things over and over regardless of context. Yeah, the TPS reports might be slow to load, but this isn't the time or place for it, yet the TPS manager has literally nothing else to add. Maybe those without much to add should be quiet.

The Harrison Bergeron-ing of all things really isn't the way to go. I really wish more people understood that.

<comment><USER4> > Its not like these things are pleasant or easy for men either.

So the system doesn't work for women, nor for minority groups, nor for many men. Doesn't that suggest that we should be trying to fix the system?

<comment><USER5> Yeah sure, but how? It's not like you can pass a law one day and the next the values of every person in the country will have changed.

In my experience values drive law more than law drives values. Marijuana has been illegal for some 40 years (or more!) in the US but that didn't make everyone think it was bad. And now the fact that so many people are unconvinced that marijuana is bad is changing the laws and it's being legalized all across the US.

Critical theory is fine but "trying to fix the system" implies that there is some method by which the system can be fixed other than "everyone has to just grow up" since I don't foresee an "everyone must grow up" law being terribly successful.

EDIT: Let me state that I don't necessarily think the current state of affairs is OK, just that it's a fairly intractable problem that won't get solved quickly. I can figure out what's wrong with my car and install replacement parts. I can figure out what's wrong with society but there aren't any replacement parts.

<comment><USER3> Not to mention, the only system I can think of where competition, which is what we're really talking about, was systematically eliminated was the USSR and other implementations of communism, which were both economically and socially a disaster. There's a lot of feel good stuff when we talk about fixing things, but the "thing" that needs to be fixed is sometimes a feature and not a bug.

The USSR is also a good example, especially with women's rights. There was a top-down equality decree without any sort of legitimate social movement. In practice, women in the USSR, outside of propaganda, were treated poorly and once the USSR fell, Russians just naturally fell into their deep patriarchal views which are mainstream there. If anything, women have it worse in modern Russia because of the USSR's heavy handed idealistic decrees.

</comment></comment></comment></comment></comment><comment><USER6> I worry that we're now viewing all of society's interactions through a prism of demographics and privilege. The prevailing cultural narrative is now that your demographic is your destiny. Too much success is granted to privilege and too much failure is blamed on society.

In my formative years, the rule for proper behavior seemed very simple: treat everyone the same, no matter their demographics or background. Now it seems there is a different ruleset for every demographic group. It all seems very retrograde and divisive.

<comment><USER7> You are articulating the zeitgeist of the culture: equal treatment is enough.

You are failing to accept the _measured fact_ that people who think they are giving out equal treatment, are _mistaken_.

Privilege blinds you. There are problems you never see, that if you knew about you'd be all like "Shit, seriously? that really happens? That's awful". But because you never know, you fill in the blanks with your own privileged experience and so erase them. There are problems, like this one, where your eyes believe they have seen equality, but a camera and stopwatch measures unfair treatment.

You need to stop being so trusting of your own inputs.

Those "different rules for every demographic" are there to (crudely) rebalance the scales. They aren't really different rules. They are compensating for the fact that supposed neutrality is skewed hard. Think of them as komi in go.

And the concept of privilege is there to teach you how the real world works, because unaided, you'll never see it.

<comment><USER8> A nice explanation of privilege. I'm not super fond of the term, since I hear too many people use it as an attack instead of a conversation starter. Its hard to convince someone they're wrong, that has to be a delicate conversation.

Maybe: Do your best to treat everyone equally, and be aware of just how insanely hard this is for ANY human being to do.

<comment><USER9> I would go with "Try to 'overcompensate' when it comes to repressed groups; only then will you trick your brain into more genuinely equitable behavior."

It's similar to how, as a rule of thumb, we would do well to "over-document" our code. We're so close to the source that things that we consider "obvious" (due to constant exposure) are absolute headscratchers for people reading the code for the first time.

<comment><USER10> Your use of "overcompensate" seems to suggest unequal treatment is necessary for equality. That's a head scratcher.

For your example to be relevant, shouldn't the programmer reserve her superb documentation skills for members of repressed groups?

<comment><USER9> jrells made my point for me.

I put "overcompensate" in quotes because our brains are poorly equipped to judge equity objectively. We have to use hacks like "You cut the cake, and I'll choose which half is mine" for that reason.

<comment><USER10> It seems the topic of privilege often arises to promote empathy in some roundabout way. I just think empathy is a good concept that stands without the help of privilege. It's possible that pointing out the disparity in privilege can guilt empathetic emotions into some -- but this message then becomes unfairly reserved for those deemed as "privileged". Empathy is good for everyone. Privileged or not.

<comment><USER9> Nobody's arguing against empathy. And simply saying that privilege is "unfairly reserved" (without any qualifiers) begs the question.

We're saying that privileged people are often blind to their own privilege and others' disadvantages. To them (and I'm in this group), and thanks to things like hedonic adaption, a position of privilege feels like their "natural" state. To have some of that privilege taken away feels like a loss, even though it was nothing they earned on their own in the first place. To illustrate: How often do people hear _heterosexuality_ applied as a pejorative label?

<comment><USER10> > And simply saying that privilege is "unfairly reserved"

I meant the promotion of empathy is being unfairly reserved. Empathy is a universally virtuous principle. To preach it at cis white males excludes others from the joys of this enlightenment.

> To them (and I'm in this group)

This is what confuses me. Why is privilege seen as a membership of a group rather than a behavioral fact about human existence? If you took someone you considered "under privileged" and gave them "excess privilege", surely they too would employ "hedonic adaption". Point being, it seems privilege can be reasoned about in principle without employing group mentality.

> To illustrate: How often do people hear heterosexuality applied as a > pejorative label?

On the surface we can reason that pejoratives are bad. Beneath that we can reason that some people are victimized for being different. And beneath that we can reason that empathizing with others helps us act in more caring ways.

I think the promotion of kind language is valid and good, but I feel like it's less useful than the promotion of empathy, because the result of empathizing most likely encompasses the benefits of kind language and much more.

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER11> A little meta-observation: across HN discussions of topics like these, I notice over and over, the same commenters posting abundantly, vociferously, and stridently in support of what I might loosely term the pro-social- engineering side of the debate. I worry that this might falsely create an impression of consensus when there is in fact none, especially considering the potential social penalties for voicing dissent.

There also seems to be, for males, a certain prestige to espousing this type of ideology, and it seems to increasingly be being used as a form of social signalling (not in the least because it is oppressive to males not occupying the very highest social strata, incurring a real cost for them, hence being a somewhat honest signal).

Not sure how these two phenomena interact.

<comment><USER12> I tried to comment on this (see my original comment below), but it turns out I've been shadow banned. You can view my comment history here: [https://news.ycombinator.com/threads?id=exstudent](https://news.ycombinator.com/threads?id=exstudent)

I think that I was banned for what I said backs up your statement and my original comment.

\--

Very good observation. It's unfortunate that this topic seems to allow for zero debate. There are quite a few reasons that someone wouldn't want genders treated different, but even stating that is an invitation to massive down voting.

I'm still sad we lost meritocracy. I come from a poor background and am a minority but today I'm a successful developer. I fought my way up the chain with hard work, self-study and being good at what I do. It's sad that now a lot of the same people who didn't like that I was advancing are now espousing the urgent need to eliminate meritocracy (which is really the only thing I can call the ladder I climbed up) in favor of identity politics.

<comment><USER13> Possibly the reason why you get downvoted is because you say silly things like "we lost 'meritocracy'", like it's some sort of team sport, or it's a war and ground was lost to the enemy.

If you want to be treated better, then perhaps not tar everyone who disagrees with you (or even all feminists) with that brush you're using. You say you're talented, so perhaps use that talent to focus your commentary appropriately, rather than engage in silly us vs them 'sides'.

<comment><USER12> We (myself and others) did "lose" meritocracy. It was a valid philosophy and important part of business culture until recently when it's become banned by hr/pr.

> If you want to be treated better, then perhaps not tar everyone who > disagrees with you (or even all feminists) with that brush you're using.

I'm just disagreeing. I'm also not complaining about down voting. I was BANNED; that's the type of reaction I was talking about. I'm not saying we should ban feminists from discussion. I don't have to agree with people to allow them to speak their mind. Apparently that doesn't work for non-feminists though. That's precisely my point.

</comment></comment></comment></comment><comment><USER14> On its face, it is obvious that there are differences between males and females at all age groups. I think a core issue is when we try to pretend like males and females are the same.

In male dominated workplaces, women find it difficult to adapt to how men do things.

In female dominated schools, boys find it difficult to adapt to how girls do things. When 98.1% of pre-school and kindergarten teachers are female it's no surprise that boys are disciplined more often, disciplined more harshly and test poorer on reading and other academic achievement measures than girls. Elementary school as a whole isn't much better with 90% of teachers being female. The first 6 years of each boy's academic life is spent trying to adapt him to how girls behave and how girls learn.

Failing to adapt in such a manner leads to punishment and recommendations of holding him back until he is as mature as his younger female peers despite his academic ability.

</comment><comment><USER15> This is interesting - I've noticed that sometimes when I'm with some women colleagues in a social setting, I'll be completely ignored when making a comment (and of course, I get slightly butthurt by the experience). I wonder if this is on some way related to the problem outlined in the article - I'm being a pushy interrupting man, but because I'm in the minority, I can get frozen out for a change. Then again, maybe† it's a 'person' thing rather than a 'gender' thing.

†probably

</comment><comment><USER16> It's pretty common that in any given group, the subset of people who have good ideas and the subset of people who are comfortable dominating a group conversation are not entirely the same.

One strategy that I've found is sometimes helpful that recognizes this fact is to start group decision making by having everyone write ideas down independently on sticky notes for, say, 5 minutes. This means every person present ends up with a physical representation of the fact that they have ideas, sitting in front of them on the table.

Then, in a second phase, you can put them on a board and organize them, evaluate them, vote on them, etc. Since the ideas are now sticky notes on a board, they can be evaluated (more) independently of the person who articulated them.

The first time I participated in something like this, it felt like Kindergarten, and I didn't really appreciate it. But after some practice, I've come to appreciate that it gives every member of a group the chance to contribute ideas, without having to simultaneously finesse the holding-the- floor game.

</comment><comment><USER17> There are anecdotes of trans men (female to male transsexuals) noticing this. They are the same person mostly and do the same thing, yet they get treated much better.

There was one trans man who is a scientist and has published under female and male names. Someone, who didn't know, remarked that he was much better than his sister.

<comment><USER18> It'd be interesting to see a blind comparison of his pre/post-transition articles.

I say this because I could _totally_ see making that transition to male representing a removal of a big chunk of subconscious stress about how he was "lying to the world" about his gender by presenting as female. This could translate into an improvement in the quality of his post-transition work.

Or it could be entirely gender-bias at play.

<comment><USER19> I would want to see this experiment repeated trans females who (assuming the presented hypothesis) should see the inverse relationship.

I suspect a better (and likely cheaper/easier) test is to take the same papers and present them under a male and female author name.

<comment><USER17> > I would want to see this experiment repeated trans females who (assuming the > presented hypothesis) should see the inverse relationship.

Yep, there are ancedotes about trans women just as you predict:

> _Joan Roughgarden is a biologist at Stanford who lived and worked as > Jonathan Roughgarden until her early fifties, and her experience was almost > the mirror image of Barres's. In her words, "men are assumed to be competent > until proven otherwise, whereas a woman is assumed to be incompetent until > she proves otherwise." In an interview, Roughgarden also noted that if she > questioned a mathematical idea, people assumed it was because she didn't > understand it._

[http://www.newrepublic.com/article/119239/transgender- people...](http://www.newrepublic.com/article/119239/transgender-people-can- explain-why-women-dont-advance-work)

> I suspect a better (and likely cheaper/easier) test is to take the same > papers and present them under a male and female author name.

There have been published scientific papers looking at (sort of) this. Send out job applications for a lab manager, and randomly assign a male or female name. Same job application otherwise. Male applications get more job offers and more money.

[http://blogs.scientificamerican.com/unofficial- prognosis/201...](http://blogs.scientificamerican.com/unofficial- prognosis/2012/09/23/study-shows-gender-bias-in-science-is-real-heres-why-it- matters/) [http://www.pnas.org/content/109/41/16474](http://www.pnas.org/content/109/41/16474)

We might give out to Creationists who don't want to accept reality about evolution, but well...

</comment></comment></comment></comment><comment><USER20> Unfortunately this seems like a bootstrapping issue now. If women are viewed differently for speaking up, it's because people aren't used to women speaking up. :(

</comment><comment><USER21> I'd love to see these discussions recorded and more objectively graded. I can not fathom a room full of people in a story meeting that isn't over flowing with interruptions and shot down ideas.

Now I'm not saying that these issues aren't real. Or that women don't run into issues that men don't have or have with less frequency. What I am saying is that these tales are anecdotal and we need more objective assessments if we have any hope of making any improvements.

</comment><comment><USER7> This is why it's important to have things like affirmative action - and in fact to scale that right down to informal conversations. Your experience of simple obvious facts is _lying to you_. You'll think a woman is taking more than her fare share of time when a numeric time measurement would show her being sidelined (as well as interrupted, ignored, and poached from). So you need to swallow your feelings of indignation and your naive realism, and measure.

<comment><USER22> Ok, you can break the stopwatches, I'm sure that will make people more comfortable talking to each other.

EDIT, because HN isn't letting me submit new replies: It was hyperbole. I don't care if it's an actual stopwatch, if you record everything on cassette and tally up the minutes later, or if you use some hip new cloud SaaS bespoke locally-grown web-scale meeting management software. When you implement patronizing means of policing human interaction like this, you stifle conversation and make people feel like children.

I'm especially aware of this at the moment, because HN is patronizingly preventing me from making any new posts because I happened to submit some replies too quickly. A dumb algorithm intended to police flamewars is making discussions ITT needlessly difficult to read, and preventing me from posting suggestions for the HN Algolia Search people in another thread. It is just as annoying and counter-productive to "rate limit" people in real life for the crime of impassioned discussion.

Another suggestion mentioned in the article is that of anonymously submitting and "ranking" ideas prior to the meeting. This is literally an "upvote" mechanism with all the familiar flaws of groupthink and trying to assign quantitative value to ideas. This works poorly enough on the internet, let alone in person.

<comment><USER23> The point is that we need stopwatches (etc.) to make visible social dynamics that we would not otherwise observe, and then try to make social rules (not necessarily laws) accordingly. It's folly to simply feel our way along based on anecdotal experiences which are themselves infected with the biased sought to be measured (as well as suffering from limited data).

Nobody is proposing that the remedial social rule _itself_ rely on a stopwatch.

</comment></comment></comment><comment><USER24> My theory is that gender inequality (less women than men, or vice versa) will cause the minority gender to have less of a say.

It seems supported by the article's last example:

"Professor Burris and his colleagues studied a credit union where women made up 74 percent of supervisors and 84 percent of front-line employees. Sure enough, when women spoke up there, they were more likely to be heard THAN men."

</comment><comment> o0-0o Speaking as a man, I would prefer that we use the term woman. As in, "Speaking as a Woman". The term female is without species. Female giraffe? Female water buffalo? Female human!

<comment><USER25> They're referencing the structure of the phrase "Driving While Black". It gets the feeling of oppression across in 3 words in a way that "Speaking as a Woman" would not.

</comment></comment><comment><USER26> This really doesn't match my experience. Women at my workplace aren't afraid to speak up at all. It helps that about half of our middle management roles are occupied by women.

<comment><USER27> It seems your experience actually does matches up with the author's thesis. As in the credit union with 74% female supervisors, companies with higher female makeup purportedly had less difference in the way female and males were perceived when they spoke up.

<comment><USER26> I suppose that will teach me to read articles before I comment, then. :)

</comment></comment></comment><comment><USER28> I've seen this go down in a critical theory graduate seminar where all three of the women in the seminar would routinely be opposed/interrupted by their male peers to the point that they just had to call it out.

</comment><comment><USER29> Maybe we need to create conference rooms where everyone is in closed off little rooms and everyone speaks anonymously? Otherwise, I don't know how we easily combat this seemingly deep-rooted bias.

</comment><comment><USER30> Whenever I read anything like this I always wonder where does the society end and individual begin? Is such a distinction necessary or even valid?

</comment><comment><USER31> I think this 'please hold the baton in order to speak' thing will benefit nerds and other quiet people, not only women.

</comment><comment><USER32> There was this one time I was watched a whole bunch of old media agitprop reciting various tropes on how things should be and when I did what TV told me to do, people responded negatively! It doesn't matter if those people were also exposed to the same trope and became skeptical of it based on their own experience... or if my imitation of the trope was ham fisted... I'M THE SPECIAL SNOWFLAKE HERE. How dare others have opinions of how my favorite trope should work!

TV would never lie to me :^(

</comment><comment><USER33> Wait. Why did the women allow the male to run with their idea? Why didn't they continue and run with it themselves? Are we supposed to sit patiently watching the gears turn until person A thinks of the idea themselves?

It's a meeting. Speak up, run with ideas, contribute. If you're gonna be mousey you're gonna get run over. Male or female.

<comment><USER34> The women didn't "allow" anything. They began to speak and their ideas were finished by men, with the rest of the meeting nodding along with them. When there's a female minority and an implicit cultural approval for this type of behavior, it's more than just 'pull yourself up by your ideological bootstraps'. It's easy to say "just do it" when you've never been in an environment that subtly discounts your contributions, no matter how good they are.

It's so irritating that not being gregarious is called mousey, because it's definitely being stated as a knock. As if people can't make excellent contributions without yelling the loudest.

I'm not a woman, and I'm not a minority, but being around my wife (an extremely intelligent, introverted engineer), it's easy to watch the implicit privilege that men use when relating to her. It's easy for them to steal her ideas. She is constantly, constantly challenged by every young man with something to prove, no matter how right she is, no matter how much experience she has in the matter ("Are you sure? Why don't we do it _this_ way?"). It's downright exhausting. If she calls someone out on it, men think of her as "a bitch". If I point it out to them, they often say things like, "Oh wow, I didn't realize I was doing that". Or, they say something defensive like, "Why can't she stand up for herself?"

Sorry for the rant, but this logic is so defeating for actually creating a positive workplace that encourages contributions from everyone, not just 24 year old Messiah-in-training.

<comment><USER33> In a meeting time is limited. Are you suggesting everyone wait around while she finishes her thought when another person could say it quicker?

What your wife needs is not someone white knighting for her (you or this article). She needs to take lessons in assertiveness to build her confidence so she can get her views across and not be ignored from basics like a weak voice or poor posture. It's not rocket science and it's not a huge male conspiracy against women.

What is true is women are less likely to be assertive, in life and in the workplace. And that can be fixed. It just won't be easy.

<comment><USER35> _Are you suggesting everyone wait around while she finishes her thought when another person could say it quicker? ... She needs to take lessons in assertiveness to build her confidence so she can get her views across and not be ignored from basics like a weak voice or poor posture_

How could you possibly know that from what he posted? You're introducing your own conception of her, and attributing things to her that were no where in his post. Her lack of assertiveness, confidence, weak voice, poor posture, etc were created purely in your mind.

<comment><USER33> She's not speaking up for herself. That's pretty much the definition of lack of assertiveness.

Lack of confidence, weak voice, poor posture are highly likely based on my experiences with people who lack assertiveness.

I'm not saying I'm right, but it's highly unlikely I'm wrong.</comment></comment></comment></comment></comment>


Http://3.14159265.com/ - <AUTHOR> http://3.14159265.com/

<comment><USER2> Make a whole site about Pi

Image is useless.

<comment><USER3> agreed!, add an archive on clever uses of Math.Pi as well</comment></comment>


Constant Time LFU - <AUTHOR> https://arpitbhayani.me/blogs/lfu <comment><USER3> I read it, I will try to summarize the idea with some intuition.

A classic LRU cache has a map from key to value, with the entries of the map arranged in a doubly linked list. When a value is accessed, it is promoted to the front of the list. So the last item in the list is least-recently accessed.

In a LFU cache, you might try the same idea, except each node also has a counter. When an item is accessed, increment its counter, and then swap with previously-higher-counter items to keep the list sorted. In this way an infrequently accessed item does not get promoted.

However this has a problem for certain access patterns. If every item has the same counter value, then accessing the last item in the list will force it to migrate up the whole list - O(N). You could use a heap instead, and get log time, but that's still not the constant time that LRU provides.

What's proposed here is to bucket items by counter. Each bucket has a linked list of entries, and each entry knows its bucket. The buckets themselves are arranged in a linked list. When an item in the N bucket is accessed, it conceptually unhooks itself from the N bucket and adds itself to the N+1 bucket, creating it if necessary.

Incidentally, a tip for writing this sort of cache: make your list circular, starting with a sentinel node (I call it the "mouth" since it eats its tail). This eliminates all the null checks in the linked list manipulation.

<comment><USER4> Is there a way to make these data structures hardware friendly? So that SIMD instructions can be used, memory is traversed continuously, without multiple pointer indirections, etc?

Are there any blogposts about this?

<comment><USER5> For chaining hash tables like this you can use a linked list of buckets where each bucket allows multiple entries, and entries can be scanned with SIMD operations. The downside is it considerably complicates the insertion/update logic, so depending on the workload it may be a net performance loss. If the hash table is designed for concurrency the extra complexity can very likely lead to tricky to understand bugs or performance cliffs.

</comment></comment></comment><comment><USER6> In practice I think cache eviction policies have trended to optimizing _memory_ usage. Storing two pointers per cache entry for LRU on 64-bit CPUs uses 16 bytes of data per entry - which adds up quickly! Especially if you're storing e.g. a like count (so an int64 or float per cache value). This approach to LFU has an even higher overhead.

There's a few cool alternatives. The first and most obvious - use a good dense hash table implementation! For eviction strategies: a random eviction strategy actually does pretty well in the general case and requires no extra memory - great if you're caching an int32->int32 mapping and the cost of recomputing isn't astronomical. You can also use try the CLOCK algorithm which just requires 1 bit of storage per cache entry.

From an abstract perspective, all page replacement algorithms can also be used as cache eviction policies. There's a whole list of these at [https://en.wikipedia.org/wiki/Page_replacement_algorithm#Pag...](https://en.wikipedia.org/wiki/Page_replacement_algorithm#Page_replacement_algorithms) .

</comment><comment><USER7> Cache sizes are nowhere near the size where a O(log n) factor is significant. In 1TB ram you can fit at most 2^36 entries (64-bit key to 64-bit value without additional datastructures). A factor of 36 is easily dominated by CPU- cache behaviour. This analysis should not be done with time complexities but with deeper tools.

While binary heaps are notorious for bad CPU-cache behaviour, improvements exist. Thus only benchmarks will convince me.

</comment><comment><USER8> The overhead here in terms of space per element and amount of work while holding a mutex seems like it would only work well for some kinds of workloads. Particularly the design doesn't lend itself well to lock free algorithms or other techniques for reducing contention.

Knowing how some real life high performance LFU caches work, I think this is optimizing the wrong thing. Look at the design of caffeine and ristretto[1] for some discussion of the tradeoffs with actual measurements. I believe both are based on TinyLFU with modifications.

I don't know any serious LFU implementations that actually use a min heap and are still competitive, so the premise that LFU is commonly log N is not actually true.

[1] [https://dgraph.io/blog/post/introducing-ristretto-high- perf-...](https://dgraph.io/blog/post/introducing-ristretto-high-perf-go- cache/)

</comment><comment><USER9> I've implemented this for leetcode without realizing it's paper worthy: [https://leetcode.com/problems/lfu-cache/](https://leetcode.com/problems/lfu- cache/)

My implementation: [https://pastebin.com/48mMTTdK](https://pastebin.com/48mMTTdK)

I am surprised to see that the paper was only published in 2010. I would expect something this simple to have been discovered earlier. I guess it's easy only after someone tells you constant time is possible.

<comment><USER10> I had this on phone screen :D.

<comment><USER11> Did you get the job?

</comment></comment></comment><comment><USER12> You could do this, although LRU has the nice property that it is at most a constant factor slower than an optimal (prescient) algorithm that has less memory available [1] (e.g. with twice as much memory it's at worst half as slow). Interestingly FIFO has the same property, suggesting that even LRUs attempt to keep frequently used items in cache can only have a limited effect (so in some cases FIFO might be faster simply due to lower overhead).

Interestingly LFU has access patterns that force it to be slower than LRU. From the paper referenced above:

>A counterexample for LFU is a sequence of k + 1 accesses to each of N - <USER2> pages, followed by 2k alternating accesses to two new pages, k to each, with this pattern repeated indefinitely (so that all but the initial N - 1 pages have k accesses). [here N is the size of the cache]

[1]: [https://www.cs.cmu.edu/~sleator/papers/amortized- efficiency....](https://www.cs.cmu.edu/~sleator/papers/amortized- efficiency.pdf)

</comment><comment><USER13> Maybe also consider tinylfu ([https://arxiv.org/abs/1512.00727](https://arxiv.org/abs/1512.00727)). I've implemented the windowed version with segmented caches and it works really well. Though it is a much more complicated implementation.

<comment><USER14> Have you tried making it adaptive [1]? Using hill climbing with a decay rate has a nice impact to correct for LRU-biased workloads [2].

[1] [https://dl.acm.org/doi/10.1145/3274808.3274816](https://dl.acm.org/doi/10.1145/3274808.3274816) [2] [https://github.com/ben- manes/caffeine/wiki/Efficiency#adapti...](https://github.com/ben- manes/caffeine/wiki/Efficiency#adaptivity)

</comment></comment><comment><USER15> recency and frequency are two hortogonally useful informations that can allow better evictions. It's not that LFU is superior to LRU or the reverse.

The best of both worlds is to use LRFU. Now a 0(1) LRFU implementation would be nice to see. Also, no talk on this blog about the constant factor I believe

After a code search on github, gecko, chromium and Linux have zero LFU despite having tons of LRUs. And zero LRFU too. So it seems that browsers and OS engeeners should learn better cache algorithms, it could allow huge performance gains!

<comment><USER16> The main linux page cache is 50% LRU and 50% LFU (half of the available memory devoted to each).

</comment></comment><comment><USER17> I have been asked to implement this in Google, Amazon and Facebook interviews and used the same method. :)

</comment><comment><USER18> this is a core data structure built into java.

[https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHa...](https://docs.oracle.com/javase/8/docs/api/java/util/LinkedHashMap.html)

<comment><USER19> You're thinking of the data structure commonly used for an LRU cache, not an LFU cache.

<comment><USER18> you're 100% right. stupid mistake on my part. Though the implementations are very similar, just can't easily reuse the java implementation I linked to for this.</comment></comment></comment>


How my Friend's Phone Got Stolen in London and Ended Up in Somalia - <AUTHOR> https://www.youtube.com/watch?v=sFE1232LxWY& <comment><AUTHOR> For some reason his Dropbox is still syncing so we have a load of their photos & selfies too.</comment>


Show HN: Finding cheap multicity flights with ML and constraint programming - <AUTHOR> https://blog.prestotrip.com/2019/10/finding-cheap-multi-city-flights-with_9.html <comment><AUTHOR> Hi Hacker News,

We are a couple of Xooglers who worked in Google Research now working on making a better multi city travel planner / travel search engine called Preso Trip.

Live site: [https://www.prestotrip.com/?source=hn](https://www.prestotrip.com/?source=hn)

The blog post describes the details of what motivated us to work on this problem and the approach we are taking to find great prices for multi city deals.

Video demo: [https://youtu.be/9ggFSjKAMIA](https://youtu.be/9ggFSjKAMIA)

Product Hunt entry: [https://www.producthunt.com/posts/presto- trip](https://www.producthunt.com/posts/presto-trip)</comment>


Ask HN: Learning to Program... - <AUTHOR>

So I know someone who has been a "programmer" for some time without an formal training. His limited knowledge is becoming a major problem as he is pretty much hitting a roadblock in his career. Would anyone recommend any resources (paid or not) for further training someone in both basic and advanced concepts in programming? He does not have the resources/time to go to a full 4-year college bachelor program at this point but is looking to get better.<p>Any help would be much appreciated. <comment><USER2> (Given your mention of a career, I'm going to assume he is at the stage where he can write programs to do stuff, but wants to move to the next level.)

To get better at programming, you need to do more than learn to program (languages, semantics, frameworks, etc.): you need to learn to think link a programmer. In this, there aren't many shortcuts: it requires study and practice.

Here are some great subjects to look into to get him started:

\- design patterns (<http://en.wikipedia.org/wiki/Design_Patterns>)

\- functional programming (although this is language agnostic, I personally would suggest working through "Scala by example" [http://www.scala- lang.org/sites/default/files/linuxsoft_arch...](http://www.scala- lang.org/sites/default/files/linuxsoft_archives/docu/files/ScalaByExample.pdf))

\- meta-programming (here are some videos--with free samples--on metaprogramming in Ruby [http://pragprog.com/screencasts/v-dtrubyom/the-ruby- object-m...](http://pragprog.com/screencasts/v-dtrubyom/the-ruby-object-model- and-metaprogramming))

\- algorithms

\- compilers ("the dragon book" <http://www.amazon.com/dp/0321486811/?tag=stackoverfl08-20>)

\- testing (unit, functional, integration, etc.)

One thing that will probably help him advance a LOT is learning a language that does things completely differently than the one he's using. If he'd like to try that, this book looks good (haven't used it myself but the choice of languages is pretty good): [http://pragprog.com/titles/btlang/seven-languages- in-seven-w...](http://pragprog.com/titles/btlang/seven-languages-in-seven- weeks)

Also, there are some great books on this list: [http://stackoverflow.com/questions/1711/what-is-the- single-m...](http://stackoverflow.com/questions/1711/what-is-the-single-most- influential-book-every-programmer-should-read)

I'm sure there's a lot more to be said on the subject, but that's a start off the top of my head. What he should start looking into really depends on his specific weaknesses and/or preferences.

</comment><comment><USER3> College degrees don't teach people how to become good programmers. A college degree is just a way to gain familiarity with a lot of topics.

To learn to code, (s)he needs to _code_. Lots of deliberate practice coding on projects that pushes his/her boundaries.

<http://norvig.com/21-days.html>

</comment><comment><USER4> The Hacker's Path krainboltgreene.github.com/l/2/

Found this couple of days ago here on HN. Hope this helps.

</comment><comment><USER5> I am a fan of lynda.com. Great tutorials at a reasonable price.</comment>


Russian punk group Pussy Riot sentenced to three years in jail for hooliganism  - <AUTHOR> http://rt.com/news/pussy-riot-verdict-updates-907/

<comment><USER2> Gary Kasparov arrested at the trial. Here he is in custody looking like he is being strangled

<https://twitter.com/obk/status/236423940975779840/photo/1>

</comment><comment><USER3> The role of the Russian Orthodox Church in denouncing blasphemy and calling for it to be criminally punished has been one of several disconcerting aspects of the case. The Patriarch's anger and calls for vengeance against "the devil" seem to lack a certain forgiving aspect of Christian character, and instead to recall a more medieval idea of Christianity.

<comment><USER4> I think the issue is could the girls have done this inside a mosque or near it? Why do people treat Christian sacred places with levity and fear the mosque or anything near it? Is it because Christians won't declare fatwa on such a person? and is disrespecting worship places the best way to gain attention aimed at selling your own music?

that is the food for thought?

<comment><USER3> Well, they did apologize for doing so, and say that in retrospect choosing the church as a protest venue was a mistake. Part of the issue with the Church in Russia is that it is not really just another religion, but closely tied to the state, so they probably thought of protesting there as a way of protesting against the state (their song was against Putin). It doesn't help that the Patriarch has close ties to Putin.

I don't have a problem with citing them for trespassing, in any case. It's more the over-the-top response of the Patriarch in calling for the State to root out devilry and blasphemy that I find slightly troubling, especially given the Orthodox Church's historical role in actually using the resources of the state for such purposes.

I don't doubt they would fare no better in many conservative Muslim countries if they ran into a mosque and started playing music deemed offensive to the government. But that's a fairly low bar to match. I don't think they would receive a jail sentence in North America or Western Europe if they did something similar. I can't imagine the Danish courts giving a jail sentence to someone who ran into a church of the Danish National Church, and played blasphemous or anti-Queen music. They'd probably just get a fine for trespassing or disorderly conduct, if anything more than a warning.

</comment></comment></comment><comment><USER5> I am bemused by the coverage of this. I imagine if the BNP staged a protest in St Paul's cathedral during Easter it would be less about free speech and more about trespass and violating a sacrosanct place and causing great offence to a religious community.

<comment><USER6> They clearly intended to offend and cause controversy, no doubt at all about it.

But the punishment is way, way, way out of line.

</comment></comment><comment><USER7> the penalty has not been issued yet. misleading headline.

</comment><comment><USER8> 2 years, not 3.</comment>


What happens when you search 'ugly hack' in GitHub - <AUTHOR> https://github.com/search?q=ugly+hack&ref=cmdform&type=Code <comment><USER2> I love the term 'ugly hack'. It's a very short way of saying 'a solution for a problem that assumes too much of the current context in which this component is called, and is guaranteed to break when the context changes'. It also implies 'this is intended to be temporary because I don't feel like doing the proper solution at this moment' which is accompanied with the intent 'we should fix this later' although most people who write it also have the wisdom that that almost never happens.

All of this is expressed in just two words :)

<comment><USER3> When I write it it usually means I know it sucks, but I'm reasonably happy with it - but if someone catches me out on it it's ok because I already criticised it myself

<comment> andrey-p Excellently put. It's like lampshading[1], for code.

[1]: [http://tvtropes.org/pmwiki/pmwiki.php/Main/LampshadeHanging](http://tvtropes.org/pmwiki/pmwiki.php/Main/LampshadeHanging)

</comment></comment></comment><comment><USER4> Some results normalized by overall language popularity. Specifically, the entry in row R and column C is 1000 * (hits for C in language R) / (hits for "the" in language R) or "\---" if either the numerator or denominator was small enough not to make the top-10 list on github.

All the scraping was done by hand and the numbers rounded to a limited number of places in the process, so there may very well be mistakes.

[EDIT: oops, initially I failed to paste in the actual data.]

           ugly hack      ugly beautiful       lol       wtf     buggy
       xml       ---       ---    14.330    72.775     2.489       ---
         c     6.348    35.421     0.670     0.768     3.650    32.009
      html     1.359     9.001    34.791     4.233     3.095     5.870
        rb       ---       ---       ---     4.483     3.151       ---
        py     9.051    35.614    28.506       ---    11.135    15.066
       php     3.731     8.333     1.781    39.037     1.792     3.754
       c++     2.851    12.507       ---     0.501   102.657     7.579
        js     6.850    16.826     2.643     2.635     7.406    29.761

Tentative conclusions: Python is ugly-hack-iest and (almost exactly tied with C) ugliest; HTML is most beautiful with Python a close second, XML is lolliest, C++ is WTFiest, and C is buggiest.

Tentative meta-conclusion: these numbers have no value beyond idle amusement. But they idly amused me, so that's OK.

(The weirdest result of the lot, to me, is XML coming top for "lol". If you do the search and click on "XML" on the left you'll see why it is. Lots of instances of what I think are the same file, full of "&lol;" entities. LOL, that's pretty ugly. WTF? An ugly hack, I guess.)

<comment><USER5> I read your table and immediately jumped to a different conclusion: That python programmers are more sensitive to ugly hacks and more likely to call them out. Not saying I'm right, but I don't know that the data can distinguish the hypotheses.

<comment><USER6> Not picking a language fight.

My intuition tells me that if your alternative hypothesis were true, then php programmers have higher standards because they ajudge more code 'ugly and C++ programmers are universally perfectionists...or at least when they are not confused which it appears they usually are.

Just for fun with hypothesizing, does Python's near 50/50 split between 'ugly and 'beautiful suggest a large degree of random use? Or more interestingly, does it suggest there is a tendency to classify middle cases as extreme cases, and is this a result of the community having 'a Pythonic Way?'

</comment></comment></comment><comment><USER7> Pretty interesting/amusing to see the language breakdown of various words (with big grains of salt):

[https://github.com/search?q=beautiful&type=Code](https://github.com/search?q=beautiful&type=Code)

[https://github.com/search?q=ugly&type=Code](https://github.com/search?q=ugly&type=Code)

[https://github.com/search?q=lol&type=Code](https://github.com/search?q=lol&type=Code)

[https://github.com/search?q=wtf&type=Code](https://github.com/search?q=wtf&type=Code)

<comment><USER8> So, HN's hate-child PHP is funnier, more beautiful, less ugly and less confusing than sexy JavaScript. Although Python rules them all.

<comment><USER2> To be fair, PHP has a well-known problem of a lot of people not being able to properly judge the quality of the code they write ;) [1]

[1] Of course I don't mean you, my dear PHP writing comment reader.

<comment><USER9> And no other widely used language has that problem ;)

</comment></comment></comment></comment><comment><USER10> I love this one - someone made Java annotation for ugly hacks: [https://github.com/benpage26/libxron/blob/016dd953a54eacada2...](https://github.com/benpage26/libxron/blob/016dd953a54eacada2c8a00ed1592dee3d63a8be/src/main/java/org/xron/annotations/UglyHack.java)

<comment><USER11> That is some real dedication the the Java way.

</comment></comment><comment><USER12> "Fix ugly hack to at least be consistent with itself", haha, this is brilliant.

</comment><comment><USER13> I'd be curious to see if there's a relationship between 'ugly hack' in code commits and the languages being used (though it'd probably say more about the programmer than the language). The bar chart on the left of the page hints that it's possible, but would have to be normalised.

My hypothesis is there'd be no real difference, but it would be fun to explore nonetheless.

<comment><USER14> > I'd be curious to see if there's a relationship between 'ugly hack' in code > commits and the languages being used

Perl is not in their list.

Either everything we do is an ugly hack, or everything we do is simple and elegant. :)

<comment><USER15> Or... nobody writes in Perl anymore... or... every Perl developer is a seasoned Perl developer.

<comment><USER14> Welp, neither of those are true.

</comment></comment></comment></comment><comment><USER16> Another fun search on GitHub - looking for the code paradox i.e. this should "never happen".

[https://github.com/search?l=c&p=7&q=never+happen&ref=searchr...](https://github.com/search?l=c&p=7&q=never+happen&ref=searchresults&type=Code)

</comment><comment><USER17> Amusingly, a lot of Python's hits appear to be hacking the import logic.

[0]: [https://github.com/search?l=python&q=ugly+hack&ref=cmdform&t...](https://github.com/search?l=python&q=ugly+hack&ref=cmdform&type=Code)

</comment><comment><USER18> It looks like ugly hacks are far more popular than clever ones.

[https://github.com/search?q=clever+hack&type=Code&ref=search...](https://github.com/search?q=clever+hack&type=Code&ref=searchresults)

<comment><USER19> Look for dirty hacks; still... C way ahead the rest.

Interesting that "ugly" places PHP over Javascript, but "dirty" is the other way around.

I wonder what does it mean. The comments and the "ugly" or "dirty" qualifiers are just part of the perception of the person writing the comment, and they're contributing to spread that perception to others.

What qualifies as "ugly", "dirty" and "clever", or even as "hack", may be quite different depending on the language and the community behind it.

<comment><USER20> Yeah, I don't think "ugly hack" or any other variants is frequent in bash script comments.

</comment></comment></comment><comment><USER21> Haha:

[https://www.dropbox.com/s/j7rwshax2e9zwln/Screenshot%202014-...](https://www.dropbox.com/s/j7rwshax2e9zwln/Screenshot%202014-07-17%2011.13.10.png)

Not even PHP can come within a factor of 5 of C when it comes to ugly hacks.

EDIT: And its not exactly like there is a bias at work: [http://goo.gl/ZezFiP](http://goo.gl/ZezFiP)

<comment> torrent-of-ions But is it because C programmers make more ugly hacks or that C programmers are more likely to know when they are making an ugly hack?

<comment><USER22> I think PHP is more or less just for the web, giving C programmers more ugly hack surface overall.

Also PHP itself is an ugly hack of C anyway.

</comment></comment></comment><comment><USER23> Search for "temporary fix" [https://github.com/search?q=temporary+fix&type=Code&ref=sear...](https://github.com/search?q=temporary+fix&type=Code&ref=searchresults). 3 million plus and counting :)

<comment><USER11> That also matches with just "fix" or "temporary". This one works better: [https://github.com/search?q=%22temporary+fix%22&type=Code&re...](https://github.com/search?q=%22temporary+fix%22&type=Code&ref=searchresults)

Now to figure out how old these are.

</comment></comment><comment><USER24> Some hacks are just beautiful! [https://github.com/search?q=%22beautiful+hack%22&ref=searchr...](https://github.com/search?q=%22beautiful+hack%22&ref=searchresults&type=Code)

</comment><comment><USER25> Maybe some ducklings too?

[https://github.com/search?q=ugly+duck&type=Code&ref=searchre...](https://github.com/search?q=ugly+duck&type=Code&ref=searchresults)

</comment><comment><USER26> I was not surprised to see tex (even though it is not a popular language on GitHub). It seems that one have to resort to (ugly) hacks when dealing with it.

(That said, I love its fruits.)

</comment><comment><USER27> "dirty fix" [https://github.com/search?q=dirty+fix&type=Code](https://github.com/search?q=dirty+fix&type=Code)

</comment><comment><USER28> A modern-day batman might do this search and then submit pull requests which fix the "ugly hacks".

</comment><comment><USER29> it's even better when you search for "temporary hack"

[https://github.com/search?q=temporary+hack&type=Code&ref=sea...](https://github.com/search?q=temporary+hack&type=Code&ref=searchresults)

</comment><comment><USER30> Simple question: does "ugly hack" mean "a quick fix before relase" ?

<comment><USER31> It usually means that something out of your control is acting strange and you don't know or can't properly fix it, but you have found a weird workaround that should probably not even work, or an very contrived way to achieve the result.

As one obviously only writes extremely elegant code, it is important to notify the programmer coming after that you were _forced_ to write it this way.

</comment></comment><comment><USER32> I love how Ruby isn't even included in the list. __RUBY THE BEST __

</comment><comment><USER33> No ugly hacks in ruby! that's a great news.

</comment><comment><USER34> Surprised CSS isn't on the top of this list

</comment><comment><USER35> 400k results for C, the next one is 40k for PHP

</comment><comment><USER25> Looks like Ruby doesn't have ugly hacks.

</comment><comment><USER36> How about 'for now' :D

</comment><comment><USER37> Wait...you mean...I find the words "ugly hack" in source files across thousands of projects on GitHub?

</comment><comment><USER38> I have no idea why this is on the front page.

<comment><USER39> fun? meta-programming?

<comment><USER38> You and I have a very different definition of fun, and meta-programming.

</comment></comment></comment><comment><USER40> Mostly C!</comment>