Ask HN: Why is the hacker scene so hostile to women and black people? - <AUTHOR> On today the birthday of Grace Hopper, inventor of the compiler among other computer science achievements, I ask HN, why is the hacker scene and computing field in general so hostile to women and people of color? More specifically, hostile to black people.
It's my opinion that diversity spurs innovation, is the scene really so short-sighted as to ignore this long-term failure to include anyone but mostly white males? For a group that prides itself in its inventiveness, it seems to be a dangerously closed loop.
Thoughts? What can be done to change this? <comment><USER2> 'Hostile' is quite a leap and makes more assumptions than are worth addressing. You claim hostility, but it sounds like you might mean underrepresentation?

Regardless, it's for the same reasons that the NFL and NBA are 'hostile' to Asians, Indians, and any other underrepresented group: they're not. It's just a function of what people are culturally exposed to growing up and what we're conditioned to see.

It's silly to think a community that openly accepts whites, Asians, and Indians is hostile to blacks because we're a wee bit darker. Go to a black neighborhood and ask how many startups failed or people who gave up programming because they felt the community was hostile to them. It even sounds silly, right?

I'm black and the only reason I'm involved in the tech community is because my mom started working at AT&T 40+ years ago as a punch card operator and worked her way up. If she hadn't brought her work computer home when I was a kid in the 90's I probably wouldn't have fallen in love with computers. She also set aside the money to buy me a computer on a 5-year Sears layaway plan or something crazy like that (BTW who buys a computer at Sears?! This guy). She could barely afford it, but it was important to her because she knew what it meant. And she only knew it because she unintentionally ended up in the tech world.

Culture, exposure, and financial ability are the primary factors in my experience.

Might there be some discrimination? Sure. Everybody encounters discrimination at some point, some more than others, but such is life. What's sad is when people expect discrimination so they tend to 'see' it everywhere.

I've actually never heard a woman or another black person complain about discrimination in this community and I've never seen it myself. I've also never thought about it until now, which is a good sign, but maybe I'm just lucky. YMMV.

<comment><AUTHOR> Thanks for your response. In reference to your addressing the word "hostile" check this recent comment I made to try and clarify the use of that word:

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

That comment only addresses women though - but hostile was more-so a trigger word than what I actually meant. I'm trying to address societal disadvantages faced by certain groups - these are not consciously hostile but they are structurally hostile.

Your mother was obviously not only intelligent but also had a lot of grit and determination that many do not have, a trait which is essential for success in any scenario - and it's clear that you did benefit from that. Most people do not have this level of skill or innate drive to succeed. many don't have the parental guidance which you had to follow that path. I'm simply asking, how can the hacker scene adjust to not only help non-white non-male groups, but to stop driving them away in increasing numbers?

"but such is life."

Yes, but it can change!

<comment><USER2> > "I'm simply asking, how can the hacker scene adjust to not only help non- > white non-male groups, but to stop driving them away in increasing numbers?"

How is the community driving them away? I feel like I touched on this in my original response, but I still don't see how the underrepresentation equates to being driven away. "Driving away" implies some level of hostility, which you claim only to mean "societal disadvantages." It seems in attempt to sensationalize, you end up confusing the issue because by talking about two disparate things as if they were the same.

I'm actually _very_ surprised how accepting this community is. Not only am I black, but I came from a military background with no tech working experience, just hobby experience. Additionally, I spent two years between Iraq and Afghanistan on small teams, something this audience isn't exactly keen on. If there was anyone who would face "hostility" or be "driven away" it'd be me. I'm amazed at how welcoming the community has been. I remember after going to my first conference I told my wife (also a Marine) that I finally felt like I belonged somewhere. By the way, my wife came to the same conference with me and loved it as well. She's still a Marine, flies F/A-18's, and talked with the guys at dinner about the future of aviation, drones, etc. She thought the community was awesome despite barely being able to use her smartphone.

Sure the community may be overly critical at times, but sometimes that's the price you pay for being around bright people who value intellect. I see it as something that makes me better. Additionally, it'd be hard to find a community with bigger hearts and a greater ability (resources and skills) to make things and make things happen.

No matter who you are, if you do good work you'll fit in with this community in my experience.

P.S. By the way, I do appreciate your thoughts and I think your heart is in the right place. I just think there are more effective ways to discuss the issue. Labeling under representation as hostility seems more likely to drive a wedge between sides than improve the situation.

How did any of us get into tech? It's more about exposure and accessibility than anything, not handouts. Let's focus on that.

</comment></comment></comment><comment><USER3> Well, one thing that could be done to change this would be to stop complaining about how one of the most meritocratic groups of people in the history of mankind is hostile, and get forking.

The code is thataway:

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

<comment><AUTHOR> Your attitude is childish and short-sighted. When certain groups are -by default- disadvantaged compared to a dominant group, just saying "go do work like I did" \- is meaningless.

<comment><USER4> Really ? On systems where people are essentially identified by their email adress and/or username ?

Why don't you tell me. One of these is female (and pretty accomplished in the open source community), one of these is non-white ... which is which ?

* thegrendel.abs

* tille

* pgquilles

If you can't, obviously the reason is not just racism. On mailinglists, github and irc, skin color and sex don't exist. If there is a difference, MAYBE it's the result of companies not hiring these people to work on open source, or because sex and ethnicity influences whether and how much you work on open source (actually I think it's more about location. Open source contributors almost always live close to universities that were very involved in the creation of open source 20-30 years ago. Because those universities are effectively only in USA and northwest Europe, the ethnicity is skewed, but there are plenty of mostly white countries that are massively underrepresented in open source projects).

As to why people are hostile to other groups, a very significant portion of them are either teenagers in highschool or university students (and even then, skewed towards the younger univ students). They're not a welcoming group, no, that's true. But they are pretty universally not welcoming, asking for someone's sex/color on lkml ... is not something you want to do if you want your reputation to survive. Hell, there are flamewars that started because of statements that someone was somewhat richer in kilograms than medically advisable, when it was absolutely true.

<comment><AUTHOR> If you have a harder time accessing these supposedly raceless-genderless systems, then you can't participate. Research has shown that the utopian vision of the internet being the ultimate equalizer was never realized.. groups still divide by socio-economic classes online as they do in the physical world.

[http://www.cnn.com/2009/TECH/science/10/13/social.networking...](http://www.cnn.com/2009/TECH/science/10/13/social.networking.class/) [http://en.wikipedia.org/wiki/Online_segregation](http://en.wikipedia.org/wiki/Online_segregation)

<comment><USER5> I can't say I understand how that demonstrates that his position is incorrect. "We exist without skin color, without nationality, without religious bias"...

Neither race or gender are fields that even _CAN_ be filled out on Github. An individual's propensity to integrate into the programming community is still their own. Your life is yours to create.

Although it may be true that existing social and economic circumstances add obstacles to these individuals finding the endeavors of the open source community attractive -- it straddles absurdity and comedy to address these social and economic forces here.

</comment></comment></comment></comment></comment><comment><USER6> I am confused, where exactly do you see this hostility? I thought the hacker community is welcome to everyone. In fact, i am not a white male. Most people i know aren't white males. A very large number of visitors of HN are probably not white males. But we're all respectful towards each other here. In fact of all the forums online, I actually find HN to be the least biased/racist/sexist. Just the other day, that post by Julia Evans about writing an OS received such positive feedback. I didn't see a single comment that discredited her for being a female. In fact when one commenter accidentally called her a "he", he was put down by the others for his mistake, saying that it is very disrespectful to assume the poster of a Tech blog is a male by default.

So i don't see really what hostility you are pointing towards. Some examples would be welcome.

<comment><USER7> There's a huge social network that makes up programming which exists outside of HN and networks like it. That said, what about the problems of Big Companies? These companies largely continue to allow these "hostilities" to persist. It's the problem of "mixed talent".

<comment><USER6> Umm... I can't think of any color-examples at the moment, but as for the females and big companies thing, well, Yahoo's CEO is a female. Google's Security head is a female (last i checked).

Apart from big companies, DefCon's team has a lot of females in it. So the "HackerScene" isn't just about males

<comment><USER7> They're exceptions to the rule _of experience_ ; or else there wouldn't be much point behind the feminist movement.

I mean, I understand your point... But it really is akin to saying we're in a post-racial America because the American President is Black.

</comment></comment></comment></comment><comment><USER8> Where do you see hostility? I run an open-source organization and it just so happens that not a lot of women programmers frequent on IRC which is where we have most of our discussions. I just don't see many women in the field let alone any hostility towards them.

Edit: Your mention of women and blacks remind me of this picture: [https://secure.flickr.com/photos/8212496@N06/493885707](https://secure.flickr.com/photos/8212496@N06/493885707)

</comment><comment><USER9> [http://learncodethehardway.org/](http://learncodethehardway.org/)

[http://ruby.railstutorial.org/](http://ruby.railstutorial.org/)

[http://mitpress.mit.edu/sicp/full- text/book/book.html](http://mitpress.mit.edu/sicp/full-text/book/book.html)

There. That should do it--for our part, we'll try to be friendly. What more do you want?

EDIT:

[http://railsgirls.com/](http://railsgirls.com/) is actually pretty great to be fair.

<comment><USER10> I decided that I wanted a new career in programming. I learned Rails through Michael Hartl's (wonderful) tutorial. Several months later, I had a job as a programmer. My being female has never, ever come up. In fact, of the five programmers in my shop, two are female.

Any interested party can learn the skills, and then all you have to do is find someone you can help. There's a huge demand for programming skills, but a lot of potential clients/employers don't necessarily know what value we can bring. You also need to be somewhat of a salesman.

(Full disclosure: I did come from a programming background, but I was self- taught. My previous job was in an unrelated field.)

<comment><USER9> Next step (providing you haven't already done so!) is to spread the good word and help train the next generation. :)

</comment></comment></comment><comment><USER11> Wut?

I didn't realized there were any hostility to women and/or black people.

For women, I don't see it. I have tons of female friends that are programmers.

As for black people... two of my friends are black, one of them is female. And they've never complain about racism in their work force. I've worked with one black person and that person played the victim card a lot, that's another story in itself entirely, but other than that.

I haven't see any hostility against women or black people.

edit:

What I do see is the gender imbalance in CS major in education. Also there are far less black people in education but I'm not sure what's the driving factor is. It could be population wise, economic reason, etc...

<comment><AUTHOR> All of your proofs are personal anecdotes. If you need some empirical evidence check this comment:

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

Or do some research on computer science demographics.

</comment></comment><comment><USER12> Seriously stop make these accusations without any proof. Where is the hostility? Just because there are a lot of white males™ doesn't mean there is hostility against other people.

<comment><AUTHOR> To clarify, check my recent comment: [https://news.ycombinator.com/item?id=6879195](https://news.ycombinator.com/item?id=6879195)

<comment><USER13> you're citing statistics without proof of their relevance to this discussion.

by hostility, it seems that you actually mean "Why do blacks and women represent a minority in computer science?"

Computer science has always been an inbetween between engineering and hard sciences--because of that many laymen were employed to do menial computer tasks early in history. This was, perhaps , one of the first chances for laymen to jump onto a scientific industry which turned out to be semi- permanent.

Since we know that education paved the way for the empowerment of minorities, could it be that the statistics that you're referencing are really just moving as a function of women becoming wider dispersed and accepted within all sciences, rather than just the engineering ones?

Perhaps the statistical anomaly that you cite is really a glimmer of hope for women. Computer science is not the only field that readily accepts them now-a- days, and perhaps those numbers actually indicate a migration across a wider array of science and engineering fields that were not at one time available for them, rather than a disappearance of women all together in STEM.

<comment><AUTHOR> Maybe you're right, (maybe) all the women statistically disappearing from the computing field are moving to other engineering and science jobs. We could throw any number of untested theories at that simple statistic.

Honestly though, that's irrelevant because WHERE they're going is not what I'm addressing. It's WHY, and HOW can we reverse the trend of anti-diversification in the computer industry? If they're leaving for other industries, even scientific ones, there's nothing wrong with the individuals choice but there's something less-desirable about the computer industry, and I doubt it has anything to do with the raw content of a computer related job.

<comment><USER14> "Anti-diversification"? Is the industry becoming less diverse?

I'm a big fan of doing things to improve the gender and racial balance of my industry, but I'm not at all convinced that it's actually getting worse instead of better.

</comment></comment></comment></comment></comment><comment><USER15> I wouldn't say there's a hostility toward woman and black people, but there's definitely a shortage in the hacker scene. Out of all the groups I've been a part of, the technological people I've been around seem to care the least about that kind of stuff. That being said, I'm not a woman, nor am I black, so maybe it is there and I just don't see it.

</comment><comment><USER16> It'a not. Where I work we are usually open for programming positions. Girls simply don't show up, it's not like there are hundreds of them that we send back home because they're women. When I'm on github and I fork something from supernerdy81, i don't even know if it's a he or a she, nor I care and surely that wouldn't make any difference in using a library. Just to say. It happens that men are eventually more interested in technology than women, generally. You can see it among your friends or family. There are things that attract women's interest most. It's not that knitting community is hostile towards men, it's just that few men (me, for example) are interested in knitting.

</comment><comment><USER17> This is bullshit.

There is no such hostility.

Way to generate a conversation around a topic where you provide no hard evidence of any of the claims you're making.

Here's a popular black coder: [https://twitter.com/seanlilmateus](https://twitter.com/seanlilmateus)

Here's a popular woman coder: [https://twitter.com/ericasadun](https://twitter.com/ericasadun)

<comment><AUTHOR> Thanks for the anecdotes - I'm looking at statistics. The hostility may not be apparent (to you) but it's structural and it's real.

see this comment: [https://news.ycombinator.com/item?id=6879195](https://news.ycombinator.com/item?id=6879195)

</comment></comment><comment><USER18> I suspect it is the "Role model" problem.

I am told, this is very well researched. And there is overwhelming evidence that role models do solve the problem. I understand UK office of statistics has the numbers that show how to solve this.

So if you are black/female and in IT let the next generation of kids know about it.

<comment><USER9> One of the irksome things in trying to show good role models in computing is that one in particular seems to show up: Ada Lovelace. Very white, very Victorian, very nerdbait.

I'd much rather see young women learning about Adm. Grace Hopper, Roberta Williams, Sophie Wilson, or anyone who has actually done something in recent enough time that they aren't given fake glamor.

</comment></comment><comment><USER19> I think your goal with this post was to foster discussion about bringing more women and minorities into software development, which is a cause that's near and dear to my heart. Unfortunately you used some rather inflammatory language in your post, which prevented people from being able to discuss the thing you really wanted to talk about.

I'm guessing you've figured this out already, but insulting people and implying that they're sexist and/or racist makes for a very poor icebreaker. I recommend waiting a few days and posting a gentler version of the question. This topic is important to the future of our community, and we shouldn't let our emotions get in the way of improving the world.

</comment><comment><USER20> I'm just gonna drop this here: [http://programmersbeingdicks.tumblr.com](http://programmersbeingdicks.tumblr.com) for all the dudes saying 'hostile? my community?'

</comment><comment><USER21> [citation required]

<comment><AUTHOR> Take a look at my most recent comment. [https://news.ycombinator.com/item?id=6879195](https://news.ycombinator.com/item?id=6879195)

</comment></comment><comment><USER7> Because many African languages, like Zulu, lack many linguistic distinctions sufficient to produce abstract concepts regarding Time (Past/Present) and Rules (Obligation/Promise). So descendents of Africans and people who are closer in proximity to practical use of those languages are seen as lacking subtlety, lacking conceptual grace, less capable of exploratory thought and critical intellectual maneuvering — notwithstanding the Media Machine which primes expectations for cross-racial and cross-cultural interactions.

As a Black (and Native American, mind you) person myself, I constantly battle on a personal level with criticisms such as this, and through my own limitations with language. I am but one person. At the same time, I have read from the works of Samuel Beckett to the works of Wittgenstein to Galileo, Aquinas, Maimonides, Aristotle, versed in Spinoza's Ethics, trained with a B.A. in Philosophy. And I still find myself each day pitted against the installed social strictures present in all Blacks' lives; even with my Classical education, I often find myself barking up the wrong tree more often than not.

Each day I grapple with my tools, sometimes mystified by my own capacity to become conceptually paralyzed. And this becomes a circle of a vicious nature. Language itself becomes both a fortress blocking acceptance and a prison prohibiting liberation, as constantly, despite whatever linguistic finesse I might muster, it simply falls upon deaf ears.

We call this Structural Oppression. It does not disappear over night.

One important point MLK made during his campaign is that, and I paraphrase, equality will not exist until Blacks are able to fail at the same rate as Whites. I am quite sure the same goes for women; hence, why Miley Cyrus serves as a Debordian "Spectacle".

Georges Bataille says something I believe is relevant[0]:

        A man who finds himself among others is irritated
        because he does not know why he is not one of the others.

[0]: [http://theanarchistlibrary.org/library/georges-bataille- the-...](http://theanarchistlibrary.org/library/georges-bataille-the-solar- anus)

<comment><USER22> Thank you for providing an example of what a bigot pretending to be smart sounds like. Now we all know what to look out for and combat.

<comment><USER7> Do you actually have an argument ? Do you actually have a contribution to make to the discussion ? Can you not see the _claims_ being made here ? Can you actually argue one way or another, or is this discussion simply off-limits because anyone has any opinion whatsoever?

Is it essential that I add "I read this from some place" ?

I deal with this issue on a personal level; the least you can acknowledge is that it hurts for me to have internalized assertions I clearly did not dream up or produce myself.

<comment><USER6> relax, calm down down. Yes, so magically you managed to provoke a troll out of his slumber. Ignore him. Don't feed the troll.

That said, I am actually confused why someone would doubt your intellectual brilliance based on your mother-tongue :/

</comment></comment></comment></comment><comment><AUTHOR> I'm commenting here as a response to a few posts that highlight my use of the word "hostile" \- a somewhat inflammatory word but my time in the journalism world taught me to bait clicks.... c:

I wouldn't say -hostile- in the sense that there's an active conscious attempt to bar women and people of color from computer science, what I mean is that in the computer science world there's an underlying structure which is rapidly ejecting (as one example) women. A structure which is reducing the number of women in computer science every year. Let's look at reports from the Computing Research Association:

"In the United States, the number of women represented in undergraduate computer science education and the white-collar information technology workforce peaked in the mid-1980s, and has declined ever since. In 1984, 37.1% of Computer Science degrees were awarded to women; the percentage dropped to 29.9% in 1989-1990, and 26.7% in 1997-1998.[2] Figures from the Computing Research Association Taulbee Survey indicate that less than 12% of Computer Science bachelor's degrees were awarded to women at US PhD-granting institutions in 2010-11.[3]"

that's a quote from: [http://en.wikipedia.org/wiki/Women_in_computing](http://en.wikipedia.org/wiki/Women_in_computing)

which separately sources that paragraph to this study: [http://www.cra.org/uploads/documents/resources/taulbee/CS_De...](http://www.cra.org/uploads/documents/resources/taulbee/CS_Degree_and_Enrollment_Trends_2010-11.pdf)

<comment><USER8> I think the underlying question should be, "Why are fewer and fewer women are attracted to the field?"

<comment><USER6> yep, in college, our CS programs usually had hardly 18 to 25 girls in a class of 150. And some of them even dropped out. When we graduated, there were hardly 10 girls amongst us. So it's not that we "eject" them. We just don't get many girls attracted to this field.

</comment></comment></comment><comment><AUTHOR> This post was very briefly on the top of /ask but now it's gone from that page altogether... honestly that's fucked up!

It seems like it was a moderator decision, older posts with less comments and upvotes remain, why was this post removed?

please ask firstname.lastname@example.com

<comment><USER23> it has way more comments that votes, which triggers automatic downvoting.

[and i see that you immediately assume - with no evidence or knowledge of how ranking here works - that it was excluded "actively and consciously" rather than through some automated process.... at what point do you start to question your own process of solving problems? maybe blaming everyone else is not always right?]

<comment><AUTHOR> Whoops! I now realize that it was flagged by users not removed by mods. I honestly haven't used HN in years until yesterday so I forgot how it all works. Also I was drunk when I made this post. c:</comment></comment></comment>


Requiem for Our Wonderfully Inefficient World - <AUTHOR> http://www.slate.com/articles/technology/future_tense/2013/04/senor_based_dynamic_pricing_may_be_efficient_but_it_could_create_inequality.html <comment><USER2> Love this</comment>


google n-gram data - <AUTHOR> http://googleresearch.blogspot.com/2006/08/all-our-n-gram-are-belong-to-you.html <comment><AUTHOR> I added this because it's n-gram [0] data is useful for spell checking (among other things) as highlighted in the post on writing a word processor in 20 lines of python. [1]

Reference

[0] wikipedia, 'n-gram: sub-sequence of n items from a given sequence'

<http://en.wikipedia.org/wiki/N-gram>

[1] chandrab, news.yc, 'From Google (Norvig): How to write a spelling check in 20 lines (very cool) '

<http://news.ycombinator.com/comments?id=10967></comment>


We need to update email protocol to help reduce information overload - <AUTHOR> If you notice about receiving notifications in your phone from apps or from services like twitter, it is often seen as a stream of notifications. Missing some will not cause problems.
However this is not the case for emails. Thus if left unattended can lead to information overload.
Don't you think we need to update email to make it more human friendly from an information overload perspective?
Here is some potential ideas:
- Metadata by responsible sender to suggest when to self delete if required.
- Metadata by responsible sender to suggest visual priority. e.g. show a notification in notification bar, but without alerting user.
- Metadata for allowing sender to assign tags/categories. You can then use tags to adjust priority of different types of emails. There is a regular tags defined by the email standard, and a flexible tags which are utf-8 strings that are not covered under the standard.
Obviously this is based on how responsible the sender is, but if they are not responsible you can always press the spam button.
(side note: Should email also be extended to allow for subscription? e.g. like twitter).
So what's your idea? And how do we push for these changes? <comment><USER2> > Metadata by responsible sender to suggest when to self delete if required.

Sorry, I may need to archive your e-mail for legal reasons (or maybe just for reasons of corporate politics). So I prefer to decide myself when to delete it.

> Metadata by responsible sender to suggest visual priority.

Sorry, but something that seems "urgent" to you may not be at all important to me.

> Metadata for allowing sender to assign tags/categories.

Sorry, but I have my own tags and categories that you know nothing about.

</comment><comment><USER3> Some extension of this could help: [https://developers.google.com/gmail/markup/reference/formats...](https://developers.google.com/gmail/markup/reference/formats/json- ld)</comment>


Are too many students going to college? - <AUTHOR> http://chronicle.com/article/Are-Too-Many-Students-Going-to/49039/

<comment><USER2> Quite a nice question (goes against the popular expectations, which I like).

My answer would be this:

From the perspective of those already who have already done college: YES and NO

More people going to college increases supply, decreases pay - of course this itself is just one facet of the real situation. Another facet is, if there aren't enough people to support an organization, that organization will have to move to a place where there is enough supply to sustain itself. The incumbents might even lose their existing jobs because of that move.

From the perspective of a company or nation: NO

It is critical for the sustenance of a company or a nation, that there be enough 'qualified' people. 50 years ago, high school was quite often qualification enough for the majority of jobs. Because of the advancement of technology, that is not the case anymore. Companies and nations do need more people to go to college to be able to sustain themselves.

</comment><comment><USER3> "Companies and nations do need more people to go to college to be able to sustain themselves."

No, not quite. Companies/nations need people to go to college and study useful things to be able to sustain themselves. I don't think the number of history majors has a positive impact on the challenges facing today's society.</comment>


Spot from Boston dynamics can be bought for $74500 a piece - <AUTHOR> https://shop.bostondynamics.com/ <comment><USER2> When I click the link directly, this leads me to an "Under construction" site. This link works: [https://shop.bostondynamics.com/DefaultStore/](https://shop.bostondynamics.com/DefaultStore/)

<comment><USER2> Here's the product video: [https://youtu.be/wlkCQXHEgjA](https://youtu.be/wlkCQXHEgjA)

</comment></comment><comment><USER3> We need a Moore's law for robotics. Who wants to bet how cheap and programmable these robots will be in 10 years?</comment>


The Next Big Blue-Collar Job Is Coding - <AUTHOR> https://www.wired.com/2017/02/programming-is-the-new-blue-collar-job/?href= <comment><USER2> This article conveniently redefines the definition of blue collar work. By similar thinking, are typists, receptionists, data-entry folks all blue collar?

> Coal miners are really technology workers who get dirty

Really?

I even agree with the premise that were going to see an increase of 'trades' style programmers assuming a certain classification of programming jobs, but the article is sensationalized.

<comment><USER3> Time was, those were referred to as "pink-collar" jobs; probably b/c there was a preponderance of women doing them.</comment></comment>


Is Arabic Facebook's Next Language? - <AUTHOR> http://www.alleyinsider.com/2008/8/is-arabic-facebook-s-next-language

<comment><USER2> Most of the ISP's in the middle-east are govt. run and hence heavily filtered & moderated. I am currently in Dubai and sites like Ning, Twitter, Flickr, FriendFeed are blocked, facebook is not ...yet. Once the content that can posted on any of the blocked sites moves to facebook -- I am guessing then facebook will be blocked as well.

</comment><comment><USER3> I'm getting FB ads in arabic already.

</comment><comment><USER4> About time.</comment>


Medium's in-house magazine "Matter" has shut down - <AUTHOR> https://twitter.com/laurahazardowen/status/823607596787630085 <comment><USER2> My understanding/assumption is that this is part of the "renewal of focus" they announced a couple weeks back (original discussion here: [https://news.ycombinator.com/item?id=13321322](https://news.ycombinator.com/item?id=13321322)) and is not particularly surprising in of itself.

</comment><comment><USER3> Interesting I suppose, if you follow Medium closely. Unsurprising given the downsizing the company has gone through though.

</comment><comment><USER4> Need more context honestly. I have never heard of this "Matter" and a bunch of tweets are not enough.</comment>


The Accidental Artistry of Wire Wrapped Circuitry - <AUTHOR> http://motherboard.vice.com/read/the-accidental-artistry-of-wire-wrapped-circuitry

<comment><USER2> I made a number of boards this way. Routing the wires neatly was cool, but detrimental to circuit performance. It increased capacitive and inductive coupling between signals, reducing the maximum clock rate (for a digital circuit) or increasing noise (for an analog circuit). It was usually best to go straight from point to point.</comment>


Supporting AI in the Enterprise - <AUTHOR> https://medium.com/@chris_47577/supporting-ai-in-the-enterprise-8387eac16acd <comment><USER2> This article is spot on. Using AI and ML in an enterprise setting is about changing behavior and helping people to understand why the AI/ML system is making the recommendations (or whatever the output is) that it is. I have seen this in dozens of companies now: even great AI requires cultural change to succeed. And good cultural change can make only mediocre AI models into game changers.</comment>


0^0 - <AUTHOR> http://www.askamathematician.com/2010/12/q-what-does-00-zero-raised-to-the-zeroth-power-equal-why-do-mathematicians-and-high-school-teachers-disagree/ <comment><USER2> It's very important to note here that 0^0=1 is a _shorthand_ and not a _truth_.

Mathematicians are absolutely not stating that they have proven, or that it is true, that 0^0=1. It is a definition, not a claim of equality. They're not saying "0^0 _is_ 1" in the sense that they say "1+1 _is_ 2" or "0.999... _is_ 1". They're saying "we define 0^0 to be 1". The difference is more than just pedantry, it strikes at the core of why mathematics is the most powerful tool for determining truth that humanity has either discovered or invented (hat tip to anyone familiar with that debate).

One of the cold, austere, beauties of mathematics* is that if you do not accept a definition, you can reject it as false and reason with the result. To give the traditional example, if you accept as true that two parallel lines never intersect, then along with the other 4 of Euclid's Axioms you can prove all of Euclidian Geometry (what you learn in high school). If you do not accept it as true (an explicitly accept it as false), then you can prove all of Hyperbolic Geometry (one form of non-Euclidian Geometry).

In the case here, you're free to reject the convention that defines 0^0 as 1 and reason with the result; __you will not break any mathematics __. But you should know that mathematicians have never run into any issues with this convention--or can handle it trivially when they arise--so you 're only adding a lot of work for yourself.

When you really think about it, it fills you with awe. It's awesome.

*"Mathematics, rightly viewed, possesses not only truth, but supreme beauty—a beauty cold and austere, like that of sculpture, without appeal to any part of our weaker nature, without the gorgeous trappings of painting or music, yet sublimely pure, and capable of a stern perfection such as only the greatest art can show." -Bertrand Russell

<comment><USER3> This is not true. A very natural way to define a^b is as the number of functions for a set with "b" elements to a set with "a" elements. In this case there is exactly one function from the empty set to the empty set, and we have proven 0^0 = 1. This is no different than defining addition and then proving 1+1 = 2.

<comment><USER4> I prefer thinking about 0^0 = 1 as an empty product ([https://en.wikipedia.org/wiki/Empty_product](https://en.wikipedia.org/wiki/Empty_product)), since it generalizes nicely to any operation with an identity element. That is, if you apply any operation zero times, the result is that operation's identity. It's interesting that the analogous empty sum, 0*1 = 0, is a complete non-issue.

<comment><USER5> But here's your problem:

infinity * n = infinity, right?

0 * n = 0, right?

0 * infinity = ?

Ok, this is relevant here particularly because:

Lim 1/x as x -> 0 from the positive side is infinity, right?

So 0 * that is.....

lim 1/x as x -> from the negative side is negative infinity, right?

So 0 * that is.....

That's why 0/0 doesn't work as such. You don't know how 0 is derived or what it means. If we have x^2/x, and take the limit as x -> 0, we get 0. If we take x/x^2 and take the limit as x -> 0 we get +/\- infinity.

But that doesn't mean that x/x or x^2/x are not continuous functions, any more than 1 or x are not continuous functions.

<comment><USER4> You are conflating the limiting behavior of a function with the value of a function. In (standard) analysis, there is no actual value called infinity - it's just used to describe how a function behaves arbitrarily close to a given value.

When you have a 0^0 limiting form (or 0/0, or 0 * infinity), the function's behavior is indeterminate. The "0" and "infinity" you're looking at aren't precisely 0 or infinity, but only arbitrarily close. The actual behavior of the function depends on the expressions that approach 0 and infinity, hence `x/(x+1)` and `x/e^x` having different limiting behaviors as x increases without bound.

But if you are literally considering the function at a specific point which produces a so-called indeterminate form, the answer is simpler. In some cases, the function is undefined (e.g. 1/x where x=0). In the case of 0^0, there is a precise value we can assign: 1. And this doesn't conflict with the 0^0 limiting form: the limit of a function at a point can be different from the actual value of the function at said point.

A quote of Knuth, taken from Wikipedia ([http://en.wikipedia.org/wiki/Exponentiation#Zero_to_the_powe...](http://en.wikipedia.org/wiki/Exponentiation#Zero_to_the_power_of_zero)):

> Knuth (1992) contends strongly that 0^0 "has to be 1", drawing a distinction > between the _value_ 0^0, which should equal 1 as advocated by Libri, and the > _limiting form_ 0^0 (an abbreviation for a limit of f(x)^g(x) where f(x), > g(x) -> 0), which is necessarily an indeterminate form as listed by Cauchy: > "Both Cauchy and Libri were right, but Libri and his defenders did not > understand why truth was on their side."

<comment><USER5> Regarding Knuth's point, that's a good one, since f(x) and g(x) are not necessarily the same.

</comment></comment></comment></comment></comment></comment><comment><USER6> Students: Let's come up with some crazy proofs based on our individual levels of understanding.

Teachers: Let's do it by the book and come up (somehow) with conflicting answers.

Mathematicians: Yeah, sorry guys. We made it all up.

Pretty much captures most mathematicians I know.

<comment><USER7> Definitions in mathematics are used to make the language describing abstract concepts elegant, as explained in the entry.

However, definitions aren't chosen all willy-nilly - there are good arguments why definitions are adopted, as should have been seen in the article.

<comment><USER8> Sort of like how we use terse symbols for everything because ink and papyrus is expensive.

<comment><USER9> Not really. We have some very good reasons for using the definitions we use every day. Those reasons are more related to us than our technology, although our tech is getting so good that we already need to think about it. And by the way, people changed almost all the usual definitions at the XX century.

Now, mathematicians do throw the usual definitions away all the time. It's important to know when to reuse other people's coding, or roll your own.

</comment></comment></comment></comment><comment><USER10> The real problem here is that x^y is a single shorthand which refers to a few fundamentally different mathematical concepts (which happen to have significant overlap with each other).

First, it refers to a function f:C x N --> C, defined in terms of repeated multiplication. f(x,0) is 1 for all x != 0, and so we adopt the convention that f(0,0) is also 1.

But it also refers to a function g:C x C --> C, defined as g(x,y) = exp(y log(x)), which has a branch cut on the negative real axis of the first argument and an essential singularity at (0,0), and so g(0,0) is necessarily undefined.

The value of 0^0 depends entirely on _what sort of mathematics_ one is doing at the time, and therefore _which_ function one is referring to.

<comment><USER11> But if you define 0^0=1 in general, it doesn't cause a problem here -- that definition never _disagrees_ with x^y=exp(ylog(x)), it just defines it at the point 0^0, while the latter leaves it undefined. In other words, it's possible to make a common extension of the two; they don't actually give _different_ values in any case.

Of course, doing this makes exponentiation discontinuous at (0,0), but seeing as it already had an essential singularity there, this isn't really a loss.

<comment><USER10> Right, but when you're working with the function on C x C, it doesn't really add anything either to arbitrarily pick 0^0 = 1, except for consistency with that other function that happens to be written the same way.

I'm not really opposed to saying 0^0 = 1; it's the only reasonable choice if we're going to insist on using the same notation for these two functions, and I don't expect that's going to change.

</comment></comment></comment><comment><USER12> \- "0^0. Why? Because mathematicians said so. No really, it's true."

\- [Detailed explanation of the tradeoffs involved in choosing different definitions of exponentiation.]

So, it's not "because mathematicians said so", it's because of a deep review of the tradeoffs of defining how exponentiation generalizes, the kind of thing that mathematicians happen to study more than other identifiable groups.

<comment><USER13> It is still a "said so" because it is a definition. Even if thought went into the definition, it doesn't make any less of a definition.

</comment></comment><comment><USER14> A word from Knuth on the matter (warning: PDF):

[http://arxiv.org/pdf/math/9205211v1.pdf](http://arxiv.org/pdf/math/9205211v1.pdf)

See page 6.

<comment><USER15> Are PDF warnings relevant anymore? Of late Chromium and Firefox display PDF natively, sandboxed(?).

<comment><USER16> I expect it has more to do with filesize.

<comment><USER17> Nobody says 'warning, images' and most pdfs are pretty lightweight. This one's 200KB.

</comment></comment></comment></comment><comment><USER18> I feel like in discrete mathematics (especially combinatorics), since we don't use continuous functions, it's useful to say 0^0 is 1, along with 0! = 1, and so on. Makes a lot of things around Binomial theorem and the like easier. I'm not so sure if it's safe to use that when doing and calculus proofs or anything along those lines, but there, you have more useful tools for dealing with limits that might approach 0^0.

<comment><USER19> 0! really is 1 in a much more reasonable sense. The empty product is the multiplicative identity. The continuous notion of ! also agrees: [http://en.wikipedia.org/wiki/Gamma_function](http://en.wikipedia.org/wiki/Gamma_function)

<comment><USER20> And it's far easier to prove: 1!=1, (n+1)!=n!·(n+1), thus 0!=1!/1=1.

</comment></comment></comment><comment><USER21> Missing Q and A: But if mathematicians insist it is 1, why do high school teachers act like they know more than the mathematicians do?

A: They don't. The statement that mathematicians uniformly say it is 1 is simply false. My high school teacher had a PhD in math, I think it's fair to say she was a mathematician. And yes, she said it was undefined.

<comment><USER22> I think it might be better to say it's indeterminant.

<comment><USER11> No, because there's no such thing. Either we can define 0^0 to have a value, or we can not do so. Either way, there's no separate option "indeterminate" that is different from "undefined".

Now, it's common to teach in calculus classes that 0^0 is one of the "indeterminate forms", along with 0/0 and so forth, which, so the story goes, is a different thing from being undefined, like 1/0\. Since, after all, if f(x) approaches 1 and g(x) approaches 0, then the limit of f(x)/g(x) is undefined, whereas if f(x) and g(x) both approach 0, then the limit of f(x)/g(x) cannot be predicted in advance. So 1/0 is undefined, but 0/0 is indeterminate.

Now this certainly is getting at a real distinction! But it's not a distinction between the _value_ of 1/0 and that of 0/0; both are undefined. "Indeterminate" is not some separate actual value. Rather, they are getting at the distinction of the behavior of the division function _near_ the point (1,0) vs. how it behaves _near_ the point (0,0). Not _at_ the points! _At_ both those points, the function is not defined.

And similarly with 0^0. Of course, it's pretty common to define that 0^0=1, and it's a definition I'd agree with -- but this is not inconsistent with the calculus teacher's statement that 0^0 is "indeterminate", because the latter (once made sense of) is not really a statement about the value of 0^0 at all; it's a statement about how the exponentiation function behaves _near_ the point (0,0) (not at it; at it, it's equal to 1, or at least by my definition it is, at any rate).

In short, there's no such value as "indeterminate"; the calculus teacher's "indeterminate forms" (as opposed to "undefined"), while getting at a real destinction, is not actually about the value of the function _at_ the point at all.

</comment></comment></comment><comment><USER23> Are there any examples where the x^0=1 definition turns out to make other definitions _more_ complicated to write down? For example, you'd have a general definition and need a special definition for when you get an exponent that equals 0.

<comment><USER24> Suppose you want a compact, clever formula for the function: f(x)=1 if x!=0, f(x)=0 if x=0

If 0^0 were defined as 0, you could write the above function as f(x)=x^0.

With 0^0 defined as 1, you're forced to write something like f(x)=1-0^|x| (absolute values to avoid division by zero), a bit more complicated.

This is silly though, and of no importance anywhere.

</comment></comment><comment><USER25> I find it a bit disappointing that the article considers only limits that would justify "0^0 = 0" and "0^0 = 1". In fact, the termin "0^0" as a limit can reach any value - the same way as "0/0" can reach any value.

Im stressing this because back in school, I really thought that although 0^0 is undetermined, it can only reach exactly 0 or 1, but nothing else. This is of course wrong, but no teacher was able to tell me why. For some time I even thought I found a new theorem and tried to prove it. Later, I told some math guru about this, he thought about a minute, and told me two functions f(x) and g(x) whose limit is each 0, but for which the limit of f(x)/g(x) is 2 (or any other value, if you adjust f(x) and g(x) accordingly).

Having said that, in most cases "0^0 = 1" is a useful convention, especially in a purely algebraic context when polynomials are involved.

</comment><comment><USER26> This question doesn't have an answer because, as this post suggests, the meanings of the first 0, the second 0, and the (^) are overloaded. The reason mathematicians don't mind the overloading is that they all have "kind of" similar meanings.

So we can talk about a recursively defined function on naturals where it's convenient to "define" 0^0 = 1. We can talk about various kinds of limit techniques in the reals where 0^0 is not actually a value but instead a shorthand for a particular kind of limit.

This probably forms the most interesting notion of what 0^0 means where we define it as the limit of a particular kind of path in the complex plane and then notice that 0^0 can take any value we choose---depending on exactly what path was taken to get there. [0]

[0] [http://en.wikipedia.org/wiki/Complex_logarithm](http://en.wikipedia.org/wiki/Complex_logarithm)

</comment><comment><USER27> For the continuous use cases, it helps to look at a graph:

[http://www.wolframalpha.com/input/?i=y%3Dx%5Ex](http://www.wolframalpha.com/input/?i=y%3Dx%5Ex)

</comment><comment><USER28> This is exactly why you have things like 0! = 1, 0 choose 0 = 1, 0^0 = 1, the empty sum is 0 and the empty product is 1, and so on. These are DEFINITIONS and they make notation easier. They basically help the flow of mathematics. It's often difficult to watch someone try to explain "intuitively" why some of these things are the way they are and completely miss the point that they are like this because they help make other things easier.

</comment><comment><USER29> I have a problem with this part of the explanation:

>However, this definition extends quite naturally from the positive integers to the non-negative integers, so that when x is zero, y is repeated zero times, giving y^{0} = 1, which holds for any y. Hence, when y is zero, we have 0^0 = 1.

When y is zero, don't we have 0^0 = 1 x [y zero times]? Maybe I'm conceptualizing it incorrectly, but I'm envisioning an empty space where y would be, akin to an empty set. 1 times an 'empty set' is _not_ 1, it's one empty set, which rubs me as another way of saying nothing/zero, not 1.

I know my language is imprecise and I'm probably describing empty sets and the definition of zero incorrectly. The point is that the last step of his explanation doesn't sit right with me. Just because Y exists zero times does not mean you can just throw it out of the multiplication.

<comment><USER30> Another convention is that the empty product is 1, and this is precisely what is being said by putting the 1 out front.

</comment></comment><comment><USER31> Had a set theory professor who taught us that for the non-negative integers, m^n was just the number of unique mappings from a set of cardinality n to one of cardinality m. Ergo, for all sets A such that |A| = k, k^0 is just all mappings from Ø, which is necessarily the one with empty image and pre-image. So 0^0 = 1.

</comment><comment><USER32> While high schoolers try to prove their own intuitions about their understanding of exponents (intuition drilled into them through rote learning), mathematicians just say "we defined it that way".

It speaks to the tragedy that is the high school math curriculum.

</comment><comment><USER19> I did not encounter this convention while working on my math degree. I am surprised that none of the characters in the article said "0^0 is nothing, but limits of the form 0^0 can be any nonnegative real number or infinite".

<comment><USER14> Yes, you did. It may not have been stated explicitly, but it was implied in a couple places:

1\. Binomial theorem. Its statement does not conventionally include any caveats about the x^0 case.

2\. D(x^n) = n x^(n-1). When n = 1 and x = 0, you get a 0^0 on the RHS. If 0^0 is taken to be 1, the derivative rule holds. Else, the statement gets messy: D(x^n) = n x^(n-1) if (x,n) != (0,1)

</comment></comment><comment><USER33> That's a rather long text to say "it's an arbitrary -- and conveniently chosen -- definition of a special case of the power function similar to how 1 is not prime". I also think the presentation was chosen poorly: lots of wrong information before the correct approach is presented.

Wikipedia is probably a better source here: [https://en.wikipedia.org/wiki/0%5E0#Zero_to_the_power_of_zer...](https://en.wikipedia.org/wiki/0%5E0#Zero_to_the_power_of_zero)

<comment><USER34> I love Wikipedia. It's amazing. It makes the world a better place. I'm a pretty decent programmer. I do video games so I do lots of 3d math. I'd say I'm decent at that as well.

I _hate_ Wikipedia for math. Absolutely hate it. Unless you are a mathematician by trade Wikipedia is damn near useless for learning new math concepts. I don't even bother checking it anymore.

<comment><USER28> I had an idea for a couple of years now of creating a wikipedia-style mathematics textbook that will be crowd-sourced, standardized and cover all of math in a way that's accessible to learn from on your own. It would have a kind of a zoom function where you can expand details on explanations and calculations to a depth that you prefer. Ideally this kind of thing would start off with basic math and get progressively further into mathematics like the roots of a tree.

<comment><USER9> Your "basic" in basic Math means "foundational", or "what we teach to children"?

<comment><USER28> That's a good question. In the spirit of making learning easier it would perhaps "start" with what we teach children. However, that might be ultimately misguided because that would just mimic the curriculum and force the whole thing into a box. But then again the math knowledge itself forces a structure on any such textbook because to know A you need to know B, C, D, etc.

This is further complicated by the fact that most subjects in math can be approached from multiple equivalent angles. For example, complex analysis can be taught from the complex derivative perspective or from the power series perspective equally well. Ideally the format of the whole thing will allow the student to naturally learn things from the angle they understand better.

</comment></comment></comment></comment></comment><comment><USER35> Interesting article. I ran across a problem yesterday that was similar to P(x)^Q(x) = 1, which then asked me to find the sum of the solutions. I noticed that both P(x) and Q(x) share a root at some a. But I realized, 0^0 is most often defined as 1, and carried on. Checking the answer key later on showed that they chose to neglect that a, and call 0^0 undefined. I'm not sure how I really felt about it.

Note, I also forgot to check when P(x) = -1, assuming that Q(x) is even there ;P

</comment><comment><USER36> I think that the most intuitive way to get the idea of why 0^0 = 1 is to take the example from combinatorics. n^k is the number of distinct sequences for the sampling with replacement and ordering (for example ball picking from repository of n different balls and counting the number of distinct ways that k balls can be picked and ordered - with replacement). I think that there is only one way of ordering results of drawing zero balls from a set of 0 different balls :)

</comment><comment><USER37> I love math, but I have never really enjoyed these types of debates.

I guess I have always been drawn to the application of the concepts in the real world rather than the abstract beauty of it.

</comment><comment><USER38> I understand the "math"...the numbers...the work on paper. But how does that translate to something useful in the real world? That, after all, is what useful math helps us do...solve problems for the real, tangible world. Saying that 0^0 = 1 is a cool math game; but translate 0 into something in the real world (i.e. nothing, none, etc.)...and trying to make something out of it other than 0 or "indeterminate" starts to make less sense.

<comment><USER39> From the article's example the simplicity of the binomial formula is extremely useful compared to a formula that would have to account for the case where k=0. Another commenter pointed out the useful elegance of 0log0=0 for physicists. These are the real world applications for mathematicians choosing definitions directly. Saying that an idea may be defined in many ways is correct, but choosing a working definition for the system helps to apply the definition to appropriate concepts. This is what mathematicians are doing when choosing a specific definition instead of saying that any definition will work.

One could argue the entire field of Real Analysis was formed because Calculus showed the world that we didn't really have those definitions, but they were needed. There are cases where the integral of the derivative does not equal the derivative of the integral (violation of the fundamental theorem of calculus) without having a specific epsilon-delta definition of limit.

Also, zero is not always the same as nothing or none. Zero is an abstract number that some have decided is useful to represent nothing or an empty set, but really comes from an abstract idea that you can count nothing and have a number. This goes back to the fact that numbers are pretty useful ideas regardless if you may consider one of them a function or not.

<comment><USER40> Supporting your final paragraph: the concepts of nothingness, emptiness, absence, etc. are all much older and more universal than mathematical zero.

</comment></comment></comment><comment><USER41> Perhaps a related question: How should it be defined in a math library for a programming language? Should it return 1, or throw an exception?

<comment><USER42> Why is that even a question? It should return the correct answer, of course.

Edit: At the very least, that behaviour should be a configurable option for those who desire something other than what most mathematicians accept as being the correct answer.

<comment><USER43> The whole point of this is that there isn't necessarily a single right answer. As another user pointed out, mathematicians define 0^0 to be 1, but you don't necessarily have to accept that as truth in the way that 1+1=2.

<comment><USER24> If the calculator is powerful enough (as in the case of Mathematica) to evaluate Taylor series, for example the Maclaurin series for e^x when x=0, then in doing so it implicitly admits 0^0=1. If it simultaneously says 0^0 is not 1, then the calculator is inconsistent. (Mathematica IS inconsistent in this example)

</comment></comment></comment></comment><comment><USER44> 0 ^ any positive power = 0

0 ^ any negative power = 1/0 = undefined = +- inf

So strictly only the _right limit_ as n --> 0 of 0^n = 0. Not the _limit_.

<comment><USER7> 0 is not defined as 0 * x = 0 - that is a derived formula. 0 is defined as the additive identity, i.e. x + 0 = x = 0 + x. It is a unique number.

0 * x = 0 is proven by noting that 0 * x = (0 + 0) * x = 0 * x + 0 * x (distributive property) and then subtracting the additive inverse of 0 * x from both sides to get that 0 = 0 * x.

However, this says nothing about 0^0, and one cannot talk about 0^(-n) for natural number n since 0 has no multiplicative inverse.

Also your argument on limits is not correct - you chose a particular path of approach for the expression y^x fixed along y = 0. Looking at another angle, the limit of x^x as x approaches 0 is clearly 1 as reasoned in the article, so this causes a clear disagreement here since you can argue for different values to make sense by tweaking the path of approach of the two dimensional function y^x appropriately.

</comment></comment><comment><USER45> Although standard mathematica notation glosses over the difference, it's important to distinguish between the following two versions of the power operation, which I'll call pow1 and pow2: pow1(x, y) = x^y where y is any integer pow2(x, y) = x^y where y is any real

The value of 0^0 is 1 for (pow-a) and 0 for (pow-b).

<comment><USER46> But lim x->0 (x^x) = 1. Why should 0^0 be 0 then?

</comment></comment><comment><USER47> To me the matter looks similar to taking the conjunction of the empty set, which is defined to be TRUE. This, however, starts to make sense when you see that the taking the conjunction of a set X can be interpreted as "forall x in X, x is TRUE". If X is empty then this statement is trivially true.

</comment><comment><USER48> Can anyone explain why this is a valid operation? [http://wp.com/latex.php?latex=\lim_{x%20\to%200^{+}}%20x^{x}...](http://wp.com/latex.php?latex=\\lim_{x%20\\to%200^{+}}%20x^{x}%20%20=%20\\lim_{x%20\\to%200^{+}}%20\\exp\(\\log\(x^{x}\)\)&bg=ffffff&fg=000&s=0)

<comment><USER43> it's using log to mean log base e, also known as the natural log or ln. you can do that because they're inverse operations (I think that's the right term for it, it's been a while since a formal math class) so they undo each other

<comment><USER49> Yes. It's an identity relationship. x = exp(log(x))

[http://en.wikipedia.org/wiki/List_of_logarithmic_identities#...](http://en.wikipedia.org/wiki/List_of_logarithmic_identities#Canceling_exponentials)

</comment></comment></comment><comment><USER50> "...they boil down to that choice being more useful than the alternative choices, leading to simpler theorems, or feeling more "natural" to mathematicians."

Along these lines, my preferred definition of the natural numbers" is "the set of all the positive integers and, when convenient, 0".

</comment><comment><USER51> I don't get what the big deal is. I put 0^0 in Windows Calculator and it gives me 1 ... problem solved!

</comment><comment><USER52> It also plays nice with the convention of 0log 0=0, used in for example formulas for entropy.

<comment><USER23> Why? With the x^0=1 definition, wouldn't log 0 be undefined?

<comment><USER30> 0 log 0 = log (0^0) = log (1) = 0

</comment></comment></comment><comment><USER53> My favorite explanation:

y^x is the number of functions from a set with x elements to a set with y elements.

Since there is only one function from the empty set to the empty set, namely, the empty function, we get that 0^0 = 1.

</comment><comment><USER54> I read upto "High School Teacher"... skimmed through "Calculus Teacher"... and scrolled through "Mathematician"...

</comment><comment><USER55> Mathematics is about generalizing concepts and principles to ever larger domains.

In this case, x^y is defined for all pairs (x, y) of real numbers except (0, 0). The question is what limit is "closer" to the set of outputs in the neighborhood of (0, 0) than any other.

0^x is defined for all x except 0, and same for x^0. We can define 0^0 as the limit of one or the other as x goes to 0. and one is constant and more "stable" than the other, so it is typically taken to be that, i.e. 1.

Up next ... if P(X) = false, what is "P(X) for all X in Ø"?

<comment><USER56> Correction: x^y is defined for all pairs of real numbers with x!=0. 0^x is not defined for negative x.

</comment></comment><comment><USER57> Another good reminder on how math itself is arbitrary and made up by humans (often for what's simplest/easiest), and not handed down to us by God. Luckily it's an extremely useful and extendable made up system.

I see this all the time with AI/machine learning. Most algorithms are based on assumptions that make the math work out better rather than being aligned with some "fundamental truth." The world is not linear, but it's much easier to approach it as if it were!

<comment><USER58> This is a problem of definitions. The definitions are arbitrary and are chosen to make the life (of the mathematicians) easier. It's easier to write a lot of results if we define 0^0=1.

On the other hands, he proofs express a fundamental truth and are handed down to us by God (or whatever deity you believe in).

<comment><USER24> The definitions only decorate the truths. By unwrapping the definitions, the truths can be expressed using just the barest predicates and function symbols of the background language, and logical operators. Whether you define 0^0 to be 1 or not doesn't change the _unwrapped_ truth.

</comment></comment></comment><comment><USER59> A pretty interesting question(the value of 0^0), in a very understandable format for the layman (me).

Very nice blog post!

</comment><comment><USER60> best thing i read in quite a while!

</comment><comment><USER61> Whenever you try to cross-breed an apple tree with a donkey, you get nonsense.

But for convenience, whatever the offspring is, we may call it a donkapple.

That's they beauty of math.

<comment><USER62> The utility of math is that you can then do a bunch of calculations with donkapples and at the end, get a meaningful real-world answer.

<comment><USER63> Well meaningful as soon as someone finds a donkapple.

<comment><USER64> Not at all. Complex numbers are used to solve real world engineering problems, despite the fact that you cannot "find" any complex numbers in nature.

<comment><USER65> I thought quantum mechanics was riddled with complex numbers? What is it about QM which means we're "using" complex numbers without having "found" them in nature?

(I realise that this is kindof a horrible question to try and answer on an internet forum, please try your best physicists ;)

</comment></comment></comment></comment></comment><comment><USER66> This is ridiculous. Doesn't this seem counter-intuitive for it to be anything else besides 0 or undefined?

<comment><USER67> If we don't have a specific mathematical context, then saying it's undefined is intuitive to me.

Without context, 0 is no more intuitive to me than 1. These two statements are equally intuitive to me, but they give different results for 0^0:

"Zero raised to any power is still just zero."

"Any number raised to the zeroth power is one."

<comment><USER68> For me, intuition-wise, I'd order it "undefined, 1, 0".

There are 3 cases for 1 and one case for 0 that immediately spring to my mind when considering the problem:

        0) Limit of 0^x, as x approaches 0 (from above).
        1a) Limit of x^0 as x approaches 0 (from either direction).
        1b) Limit of x^x as x approaches 0 (from above).
        1c) "What did you multiply by 3 once, to get 3^1?  So, multiplying 1 by zero, zero times..."

Limits here, simplified to intuition level, being "what would you need to fill that hole in the graph?" The fact that these disagree would be why I'd assume undefined, but the case for 1 seems stronger (to me).

<comment><USER67> The limit in 1b is 1 from below as well, right? I'm not sure how limits work with complex numbers, but the imaginary part of x^x approaches zero as x approaches zero from below, so can we say that the limit of x^x as x approaches zero from below is also zero?

<comment><USER68> Yes, but getting there steps out of the realm of "intuition" for me.

<comment><USER67> Yes, perhaps "intuition" isn't the best word. Formal limits certainly aren't "intuitive" to me, at least by one definition of the word. I suppose I used "intuitive" to mean "according to my mathematical understanding, ignoring the mathematics explicitly dealing with 0^0."

<comment><USER68> Sure. I was limiting it to things I could do in my head in tens of seconds.

</comment></comment></comment></comment></comment></comment></comment><comment><USER69> In any case, _zero_ is a different animal than any other number. It can't actually exist in the physical world like other numbers; it's definition is non-existence. _Zero_ is merely conceptual. Therefore, it can't easily fit into the picture of mathematics; at least not without requiring the definition of special cases.</comment>


Apple Posts Drop in Quarterly Revenue and Profit - <AUTHOR> https://www.wsj.com/articles/apple-posts-drop-in-quarterly-revenue-and-profit-11548797780 <comment><USER2> I'm looking to get a new phone from Apple (mainly for the new camera). I'm just waiting for them to make a smaller phone again!

</comment><comment><USER3> I wonder if 2019 will be the first year when the flagship iphone gets cheaper than last year's...

</comment><comment><USER4> So everyone has got a phone then. They had a good run.

This should be good news. Less people have to slave away making iPhones because everyone has got one and less people have to slave away paying for getting themselves a phone that does everything they wish for in a phone. Yet with the wonders of capitalist growth this is met by the people that write for the media as a concern. Every curve has to be exponential.

<comment><USER5> Phones have to be replaced at some point. I don't think the number of phones sold in general is going to start going down. Population is increasing, more people are coming online, and phones seem to last as long as they always have (~2 years in my experience)

<comment><USER4> We saw this before with personal computers. So I don't know what you can't see with the phone situation. PCs are now a commodity item that has razor thin margins and any from the last decade are fine for everyone except for developers and gamers. Phones are now the same, everyone has got one and they get replaced when people drop them badly, misplace them, get them stolen or if they come off a contract. But that contract model is dying as people don't think that it is worth buying them in the way people paid for TVs in the 1970's by instalments.</comment></comment></comment>


SwipeGood (YC W11) Gives Its Start Fund Cash To Charity - <AUTHOR> http://techcrunch.com/2011/02/27/swipegood-gives-its-start-fund-cash-to-charity/

<comment><USER2> The "gives start fund cash to charity" title is just great marketing (like the campaign itself.)

\- Corporations get tax deductions for donations to nonprofits too, so this won't cost the full 150k. And this will get far more than 15k signups, since people will keep signing up because of this splash long after the 150k is gone. So really, profit = (@$20/month "revenue", 5% on top of credit card fees) $1/customer/month. Real cost/user will likely be less than $5, so if LTV/user is $5 or more, this is worth it on the $$ alone.

\- Donorschoose.org, one of the web-savviest nonprofits around, gives out gigantic quantities of $25/$50/$100/etc "gift cards" to basically anyone who asks for them who'll bring them good PR. (They also get large retail chains to give them out as prizes.) These cards are funded by outside donors, and they collectively bring in huge amounts of buzz and new donors (who end up donating more than the base amount on the card.) This is the for-profit twist on that... SwipeGood could likely get anyone who supports them (e.g., their investors) to put up money that [the investors] "would have given to charity anyway" for future stunts like this.

Great idea.

</comment><comment><USER3> This seems like a slap in the face of the investors. Giving a chunk of your startup capital to a charity is basically throwing it away. Good for the charity but this startup seems too early stage to be giving that kind of cash away. I hope it pays off for them.

<comment><USER4> Steli here from SwipeGood! On average our users donate over $20 per month to charity and stay enrolled for a very long time...so this move is a win/win/win. It's great for our users to be able to instantly give away money for charity ; great for our partner charities who receive the donations and good for SwipeGood since it makes economic sense for us :)

Cheers, Steli

<comment><USER3> That makes sense. At least you guys are using it to get user referrals rather than throwing it in a wheel barrow and burning it :)

<comment><USER5> Even PayPal with millions in funding only gave away $5/referral. $150,000 there brings you 30,000 users, but "SwipeGood is giving every user who enrolls on the service $1000 that they can give away to charity." That's 150 users or am I missing something?

<comment><USER3> It looks like $10/referral up to 100 referrals. If they make $20/user/mo this is a no brainer.

<comment><USER6> I think they only get 5% of that $20/user/month. That being said, here are two options for how to use $150,000:

1\. Hire an engineer for a year

2\. Sign up 15,000 users and generate $15,000/month in revenue. Hire an engineer permanently and net an extra $30,000/year in profit.

I know which I'd choose.

</comment></comment></comment></comment></comment></comment><comment><USER7> I have explored this kind of marketing before. This creates a buzz among the non-profit organizations and non-profits will be doing the marketing for you if they consistently receive funds through SwipeGood. Instead of asking for $10 one time donation, they can say "Hey, enroll in this program and indicate us as a recipient." This strategy is utility maximizing, bc small amount of funds given away over some period of time is less painful than parting with $10, especially the effort of donating is attached to other types of activities we already are used to, like purchasing stuff.

</comment><comment><USER8> "SwipeGood rounds up all of your credit card purchases to the nearest dollar and allows you to donate the difference to the charity of your choice. It's the easiest way to give to charity!"

I guess that nobody ever invented a stranger and more complicated way of transfering money. Calling it "the easiest way" is really... well.. interesting.

<comment><USER4> Giving away your "loose change" for charity is an idea that has been around for a very long time and resonates very well with people. SwipeGood just makes this model scale with all your purchases since you sign up with your card. It's easy because people don't have to think about "how much" & "when" to give which means we take away friction from the process of giving. Our users as well as our charity partners LOVE it :)

<comment><USER8> Sure, the users like it.. otherwise they would not have become your users. And sure your charity partners like it. Who wouldnt like to get money?

But "easy"... typing a money transfer order in the online interface of my bank is easy. Giving away ~50cent everytime I use my credit card is a much more complex thing.

How much do you keep from that money? Is there something about your business model anywhere?

<comment><USER4> It's easier because you don't have to make a decision what the right amount is and you can give proportionally to your spending! Reg our bm: SwipeGood uses 5% of each monthly donation to cover operational costs and 2.5% to cover the cost of third-party fees such as credit card processing.

</comment></comment></comment></comment><comment><USER9> This looks like a great idea to promote their product virally. It has an automatic incentive for people to invite friends and get conversions.

</comment><comment><USER10> is there a version of SwipeGood that rounds transactions up _and puts that amount in a savings account_? I'd love that.

<comment><USER11> Bank of America already does this for their debit cards through their Keep the Change program.

<http://www.bankofamerica.com/promos/jump/ktc_coinjar/>

<comment><USER12> Bank of America matches 100% of your Keep the Change savings for the first 3 months. After that, they match 5% a year. The maximum total match is $250 per year. Sign up for SwipeGood through a Keep the Change card and donate to charity for free _!

_ or nearly free.

</comment></comment></comment><comment><USER13> how does swipegood generate returns for investors?

<comment><USER4> Every user on SwipeGood is generating $20/mth/user in donation revenue for the charities. Users stay enrolled with SwipeGood for a very long time and we take a 5% cut out of every transaction that is happening on our system! You see, it's a very simple business model :)

<comment><USER14> So at an average of $1 per user/month, and a charity giveaway designed to generate at least 15,000 users, the $150k should be recovered in less than year. Good stuff :)

</comment></comment></comment><comment><USER15> The single biggest problem for _any_ new business is almost always getting noticed. This sounds like "getting noticed to the third power":

\- great name

\- y-combinator

\- windfall to charity

Sounds a little gimmickly, but so what? Finding a way to be noticed enough to get traction is mandatory. Good job.</comment>


Tumblr's Most Popluar Bloggers Have An Affinity For Publishing Adult Content - <AUTHOR> http://tomuse.com/tumblr-secret-success/ <comment><USER2> Oh wow, the cat's out of the bag now. I think majority of people are not aware of this side of Tumblr. The company has to though, and since it's in violation of their TOS, I don't know why they have not done anything about it yet. Perhaps they bring a lot of traffic? I don't care for these mature tumblogs as long as they are not being promoted or anything like that.

<comment><USER3> Oh, heaven forbid that a company might promote something that's adult.

Frankly, I'd LOVE if tumblr did that. More companies should. The internet should not have to be as prudish and restrictive as the rest of, well, everything.

<comment><AUTHOR> I think the differentiating point is that Tumblr is not an adult website. Adult websites need to stay separate from those which are popular for kids <18 years old or at least have some kind of warning that informs the user about the content. We have the same thing for TV, music, movies, video, and video games too.</comment></comment></comment>


Google Home Hubs endless loop - <AUTHOR> https://consumerist.com/2017/01/06/the-internet-is-transfixed-by-the-wonderfully-pointless-surreal-circular-debate-between-two-google-home-devices/ <comment><USER2> Discussion: [https://news.ycombinator.com/item?id=13336416](https://news.ycombinator.com/item?id=13336416)</comment>


Updated RISC-V Instruction Set Manual: Version 2.1 - <AUTHOR> http://www.eecs.berkeley.edu/Pubs/TechRpts/2016/EECS-2016-118.html <comment><USER2> From the Preface of the linked PDF:

 _This is version 2.1 of the document describing the RISC-V user-level architecture. Note the frozen user-level ISA base and extensions IMAFDQ version 2.0 have not changed from the previous version of this document, but some specification holes have been fixed and the documentation has been improved. Some changes have been made to the software conventions._

</comment><comment><USER3> Security:

It still won't do execute-only and true read-only memory. We've had true read- only for ages now on x86, and just got execute-only. You need these: rw- r-- --x

It still has poor support for ASLR, especially the limited-MMU variants. Even the most limited version should be able to require that the uppermost address bits be something randomish, even if it's only a per-priv-level random cookie.

<comment><USER4> Here, ASLR is "Address space layout randomization" ([https://en.wikipedia.org/wiki/Address_space_layout_randomiza...](https://en.wikipedia.org/wiki/Address_space_layout_randomization)), a technique to protect from buffer overflows and other such exploits where an attacker makes guesses about where things are in memory part of the attack.

</comment></comment><comment><USER5> I guess the privileged ISA still being a draft prevents full application processors from being rolled out. But is there anything preventing micro- controllers being mass produced? Why isn't there an Arduino with a RISC-V micro-controller yet?

<comment><USER6> Like another poster answer, there is the lowrisc effort that is probably closest to bringing out a risc-V micro-controller board?

In general, I wonder, what are the economics of producing micro-controller chips? I assume there is something like a minimum chip complexity (number of transistors), below which it doesn't make the thing cheaper since you need to produce a package big enough to have pins to connect to the outside world? And as feature sizes are reduced, that minimum complexity goes up?

And of course, for something like a hobbyist product like Arduino, the price of the micro-controller chip itself must be a (very) small fraction of the price of the board?

All this being a long-winded way of saying I hope that a hypothetical RISC-V based micro-controller board wouldn't be noticeably more expensive than an equivalent 8-bit AVR micro-controller board? Oh, and compatibility with Arduino shields, and programmable with Rust. And a pony.

<comment><USER5> But lowrisc wants to be a full processor with MMU and everything able to run Linux (just without a graphics card)?

<comment><USER6> Yes, lowrisc seems to be more like a Raspberry Pi than an Arduino.

But if it's cheap enough, does it matter? You don't have to install a full Linux kernel, you can just run your micro-controller code directly on the metal?

<comment><USER4> It might "matter" because doing a full application-level chip is more work than doing a limited microcontroller-level chip.

Thus time to market (as in "I wanna play with this nooow") is improved for the latter approach.

</comment></comment></comment></comment></comment><comment><USER7> "We did not include special instruction set support for overflow checks on integer arithmetic operations, as many overflow checks can be cheaply implemented using RISC-V branches."

False. For example, JavaScript add/sub will require 3x more instructions on RISC-V than x86 or ARM. Same will be true for any other language requires (either implicitly, like JS, or explicitly, like .NET) overflow checking. Good luck with that, lol.

<comment><USER8> Many overflow checks can be removed with optimization. RISC-V's compressed encoding has shown to be ~70-80% more compact, so it has room for overflow checks. The efficiency of the architecture can always compile it out by time it hits microcode

[http://joeduffyblog.com/2015/12/19/safe-native- code](http://joeduffyblog.com/2015/12/19/safe-native-code)

<comment><USER7> I pioneered most of WebKit's overflow check optimizations, and our compiler is bleeding-edge when it comes to eliminating them. Still, the overwhelming majority of the checks remain, because most integer values are not friendly to analysis (because they came from some heap location, or they came from some hard math, etc).

I doubt that the architecture will compile out signed integer addition overflow checks, which are the most common. They are brutal to express correctly without an overflow bit, and the architecture will have a hard time with this.</comment></comment></comment>


Spotify Interview in Stockholm for Backend Engineer II - <AUTHOR> https://blog.rampatra.com/spotify-interview-backend-engineer-ii <comment><USER2> Christ almighty, a personal site that hounds you to turn off ad blocking without any way to opt out?

<comment><AUTHOR> yea, sorry for that. I added that recently to compensate for the website costs. Will turn it off after some days.

However, you would see only one ad on a page. Not more.</comment></comment>